domingo, 26 de junio de 2016

Exportar e Importar TABLAS

EXPORTAR TABLA
Desde la ventana de Ejecutar de Windows abrimos una terminal mediante el comando CMD

Nos posicionamos sobre la carpeta del dispositivo de destino
(por ejemplo e:\BaseDeDatos>)

Una vez ubicados en el dispositivo y carpeta de destino ejecutamos:
exp scott/tiger file=respaldo tables=facturas,detfacturas,clientes,articulos


IMPORTAR TABLA
Desde la ventana de Ejecutar de Windows abrimos una terminal mediante el comando CMD

Nos posicionamos sobre la carpeta del dispositivo de origen, donde se encuentra el respaldo de las tablas (por ejemplo e:\BaseDeDatos>)

Una vez ubicados en en dispositivo y carpeta de origen ejecutamos:
imp scott/tiger fromuser=scott touser=scott file=respaldo.DMP 

sábado, 25 de junio de 2016

Crear, Modificar, Eliminar y Respaldar una Tabla & Ingresar, Modificar y Eliminar datos de la Tabla

ALERTA!
No olvidar ejecutar COMMIT; luego de una modificación
o en caso contrario hacer ROLLBACK.

CUIDADO!
Realizar siempre eliminación LOGICA, más NO FISICA, cambiando estatus a 'E'.

CREAR UNA TABLA
CREATE TABLE CLIENTES(
CODIGO VARCHAR2(4),
NOMBRE VARCHAR2(20),
LIMCRE NUMBER(10,2),
ESTATUS VARCHAR2(1));

VER ESTRUCTURA DE UNA TABLA
DESCRIBE CLIENTES 

DESC CLIENTES 

COPIAR UNA TABLA (BACKUP)
CREATE TABLE BACKUP_CLIENTES
AS SELECT * FROM CLIENTES;

MODIFICAR ESTRUCTURA DE UNA TABLA
AGREGAR COLUMNA A LA TABLA
ALTER TABLE CLIENTES
ADD TELEFONO VARCHAR2(10);

MODIFICAR COLUMNA DE LA TABLA
ALTER TABLE CLIENTES

MODIFY TELEFONO VARCHAR2(13);

ELIMINAR COLUMNA DE LA TABLA
ALTER TABLE CLIENTES
DROP COLUMN TELEFONO;

INCLUIR DATOS EN UNA TABLA
En Algunas Columnas
Si se desean incluir valores en ciertas columnas de una tabla, se procede a especificar en que columnas se incluirán y los valores que se desean incluir en estas, siempre debe haber una concordancia unívoca entre la cantidad de columnas y los valores a incluir.

INSERT INTO CLIENTES (...,...)
VALUES (...,...);

Ejemplo:
INSERT INTO CLIENTES (codigo,nombre,estatus)
VALUES ('0001','MAKRO','A');


En Todas las Columnas
Si se desean incluir datos en todas las columnas de la tabla, en el orden de aparición de estas, puede obviarse la discriminación de los campos y colocar directamente los valores, teniendo en cuenta que deben introducirse todos y cada uno de los valores en el mismo orden en el que están en la tabla.

INSERT INTO CLIENTES
VALUES (...,...)

Ejemplo:
INSERT INTO CLIENTES (codigo,nombre,estatus)
VALUES ('0007','SIDETUR',7500,'A');

Utilizando Parámetros
INSERT INTO CLIENTES
VALUES ('&CODIGO','&NOMBRE',&LIMCRE,'A');

ELIMINAR DATOS DE UNA TABLA
DELETE FROM CLIENTES
WHERE ESTATUS='E';

MODIFICAR UNA FILA (Registro) DE UNA TABLA
UPDATE CLIENTES
SET  LIMCRE = 5000
WHERE CODIGO=2;


MODIFICAR VARIAS FILAS (Registros) DE UNA TABLA
UPDATE CLIENTES
SET  LIMCRE = 0,
ESTATUS = 'E'
WHERE LIMCRE<3000;

MODIFICAR VARIOS CAMPOS DE UN REGISTRO DE UNA TABLA TRAYENDO DATOS DE OTRA TABLA
UPDATE CLIENTES
SET  (LIMCRE,ESTATUS) = (SELECT LIMCRE,ESTATUS 
FROM PROVEEDORES WHERE CODIGO='0002')
WHERE CODIGO='0002';

IMPORTANTE!
ACCESAR AL EDITOR PARA CORREGIR CODIGO
ED + ENTER 
Luego se guarda el archivo con el mismo nombre, salimos del editor de código, colocamos el ";" y presionamos ENTER nuevamente.

OTROS COMANDOS IMPORTANTES

SALIR DE SQL/PLUS DE ORACLE
EXIT

martes, 3 de mayo de 2016

Select (Part II)

Omitiendo filas duplicadas en un QUERY (DISTINCT)
SELECT DISTINCT CODCLI
FROM FACTURAS
WHERE ESTATUS='A';

Utilizar Alias para una columna/table en un QUERY
SELECT NOMBRE AS "NOMBRE DEL CLIENTE"
FROM CLIENTES CL
WHERE ESTATUS='A';

Concatenar Valores en Columnas
SELECT 'LA FACTURA ' ||NUMERO|| ' SE EMITIO EL: ' ||FECHA|| ' Y SE VENCE EL: ',
FECHA+DIASVIGENCIA
FROM FACTURAS
WHERE ESTATUS='A';

Uso de Operadores Matematicos
SELECT CODIGO,DESCRIPCION,COSTO,((COSTO*0.40)+COSTO) AS "PRECIO"
FROM ARTICULOS
WHERE ESTATUS='A';

NOTA: El orden de evaluacion de los operadores es el siguiente:  * / +  -
  Si una expresion/funcion hace referencia a una columna que contiene un valor NULO,
  el resultado tambien sera NULO. 
  NO DEBEMOS OLVIDAR QUE UN VALOR NULO PUEDE AFECTAR CUALQUIER
   VALOR, PUES AL INTENTAR OPERAR CON EL, EL RESULTADO SERA NULO.

SELECT CODIGO,NOMBRE,LIMCRE AS "LIMITE DE CREDITO",
LIMCRE+500 AS "LIMITE PROPUESTO"
FROM CLIENTES
WHERE ESTATUS='A';

Uso de FUNCIONES en Columnas
TRUNC y ROUND
SELECT CODIGO,LIMCRE,LIMCRE*0.125,TRUNC(LIMCRE*0.125),
ROUND(LIMCRE*0.125)
FROM CLIENTES
WHERE ESTATUS='A';

UPPER y SUBSTR
SELECT DESCRIPCION,UPPER(DESCRIPCION),SUBSTR(DESCRIPCION,1,5)
FROM ARTICULOS
WHERE ESTATUS='A';

AVG (Promedio) , MAX (Mayor) y SUM (Sumatoria de Columna)
SELECT AVG(COSTO),MAX(COSTO),SUM(COSTO)
FROM ARTICULOS
WHERE ESTATUS='A';

Fechas
Descomponer fechas en Dia, Mes y Año. TO_CHAR 

Parametros de la funcion TO_CHAR

Elemento 
Descripción 
DD 
Día del mes. 
D    
Día de la semana. 
DAY 
Nombre del día en mayúscula. 
MM 
Mes (01 – 12). 
MONTH 
Nombre del mes en mayúscula. 
MON 
Las tres primeras letras del mes en mayúscula. 
HH: MI: SS     
Horas minutos y segundo. 
Fm 
Suprime los blancos. 

SELECT NUMERO,FECHA,TO_CHAR(FECHA,'DD') AS "DIA",
TO_CHAR(FECHA,'MONTH') AS "MES", TO_CHAR(FECHA,'YYYY') AS "AÑO"
FROM FACTURAS
WHERE ESTATUS='A';

domingo, 1 de mayo de 2016

SEQUENCE

CREAR UNA SECUENCIA
CREATE SEQUENCE SEQ_PROVEEDOR
START WITH 1 INCREMENT BY 1;

BORRAR UNA SECUENCIA
DROP SEQUENCE SEQ_PROVEEDOR;

INCLUIR MULTIPLES FILAS EN UNA TABLA MEDIANTE SECUENCE PARA UN VALOR EN UN QUERY
INSERT INTO PROVEEDORES
(CODIGO,NOMBRE,LIMCRE,ESTATUS)
SELECT SEQ_PROVEEDOR.NEXTVAL,NOMBRE,LIMCRE,ESTATUS
FROM CLIENTES;

SELECT (Part I)

Mostar ciertos registros por columnas de una table: SELECT CODIGO,NOMBRE
FROM CLIENTES;

Mostar todos los registros por columnas de una table:SELECT * FROM CLIENTES;

Mostar registros por columnas de una table con alguna condición particular:
La clausula WHERE en el SELECT
SELECT CODIGO,NOMBRE,LIMCRE
FROM CLIENTES;
WHERE CODIGO='0007';

Constraint y usos (PRIMARY KET, FOREIGN KEY, CHECK, NOT NULL, UNIQUE)

CONSTRAINT     USO

PRIMARY KEY 

Para identificar a una o varias columnas como clave primaria de la tabla. 
CHECK  
Para especificar que el contenido de una columna debe cumplir con una condición dada. 

FOREIGN KEY 


Para identificar a una o varias columnas como clave foránea de una tabla. La (s) columna (s) debe (n) estar definidas como clave primaria en la tabla referenciada. 

NOT NULL 

Especifica que la columna tiene que tener un valor no nulo. 

UNIQUE                                          
Para especificar a una o varias columnas como clave única o clave alterna.