UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION
FACULTAD DE INGENIERIA ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA INFORMATICA
CURSO ADMINISTRACION DE BASE DE DATOS CON ORACLE 9i
SEPARATA Nº 03 LENGUAJE DE MANIPULACION DE DATOS Y TRANSACCIONES
DOCENTE ING. CIP EDWIN IVAN FARRO PACIFICO
HUACHO-LIMA PERU
Universidad Nacional José Faustino Sánchez Carrión
Ing. CIP Edwin Iván Farro Pacífico
LENGUAJE DE MANIPULACION DE DATOS INSERT Con la sentencia INSERT se inserta una fila o una tabla Sintaxis: INSERT INTO tabla (campo1,campo2, campon) VALUES (dato1,dato2,daton) A continuación veremos las formas de insert: Ejemplo 1 SQL> INSERT INTO dept(deptno,dname,loc) 2 VALUES(50,'VENTAS','HUACHO') Ejemplo 2 SQL> INSERT INTO dept(deptno,dname) 2 VALUES(60,'COMPRAS') Ejemplo 3 SQL> INSERT INTO dept 2 VALUES(70,'ALMACEN','LIMA') UPDATE Permite actualizar los datos de una tabla. Sintaxis: UPDATE tala SET campo1=valor1,campo2=valor2,campo3=valor3 WHERE condición Agregar los siguientes registros a la tabla emp empno 7940 7941 7942 7943
ename ANA JUANA MAYRA PATRICIA
job VENDEDOR SUPERVIS VENDEDOR VENDEDOR
mgr 7941 7941 7941
hiredate 10/05/02 11/12/02 10/02/03 16/08/03
sal 1000 1400 1000 1000
comm 200 150
detno 50 50 50 50
SQL>INSERT INTO emp VALUES (7940,’ANA’,’VENDEDOR’,7941,TO_DATE(’10-05-2002’,’DD/MM/YYYY’),1000,’’,50 Ejercicio 4 Actualizar el sueldo de Juana a 1600 SQL>UPDATE emp SET sal=1600 WHERE empno='7943';
Ing. CIP Edwin Iván Farro Pacífico
Pag 2
Universidad Nacional José Faustino Sánchez Carrión
Ing. CIP Edwin Iván Farro Pacífico
Ejercicio 5 Actualizar el sueldo de los vendedores a 1150 SQL> UPDATE emp SET sal=1150 WHERE job='VENDEDOR'; Ejercicio 6 Generar un sueldo promedio a los empleados del departamento 50 SQL> UPDATE emp SET sal=(SELECT AVG(SAL) FROM EMP) WHERE deptno=50 DELETE Permite eliminar registros Ejercicio 7 Eliminar a la vcendedora Patricia SQL> DELETE FROM emp WHERE empno=7943; Ejercicio 8 Eliminar los empleados del departamento de ventas. SQL> DELETE FROM emp WHERE deptNO=(SELECT deptno FROM dept WHERE dname='VENTAS');
TRANSACCIONES Una transacción es una serie de ordenes SQL que se completan o fallan como una unidad. Son un componente estándar de la base de datos y sirven para evitar las inconsistencias de los datos. Una transacción comienza al iniciar una sesión Oracle o al final de una transacción previa. Termina con la orden COMMIT o ROLLBACK. COMMIT Hace permanentes los cambios en la base de datos. Un commit puede ser explícito o implícito o automa´tico. Commit explícito Debe digitarse el comando COMMIT para que los cambios se hagan permanentes. Ejemplo 9 Insertar los siguientes registros a la tabla emp
Ing. CIP Edwin Iván Farro Pacífico
Pag 3
Universidad Nacional José Faustino Sánchez Carrión empno 7940 7941 7942 7943
ename ANA JUANA MAYRA PATRICIA
job VENDEDOR SUPERVIS VENDEDOR VENDEDOR
mgr 7941 7941 7941
hiredate 10/05/02 11/12/02 10/02/03 16/08/03
Ing. CIP Edwin Iván Farro Pacífico sal 1000 1400 1000 1000
comm 200 150
Detno 50 50 50 50
Luego digite lo siguiente: SQL>COMMIIT; Validación terminada Commit Implícito Existen comandos con los cuales se realiza un COMMIT sin ser digitado explícitamente. ALTER AUDIT COMMENT CONNECT CREATE DISCONECT DROP
EXIT GRANT NOAUDIT QUIT REVOKE RENAME
Commit Automático Los cambios tiene efecto inmediatamente de un INSERT, UPDATE o DELETE si el AUTOCOMMINT se encuentra habilitado. Para dehabilitrar el AUTOCOMMIT se utiliza el comando SET del SQL Plus. SQL>SET AUTOCOMMIT OFF ROLLBACK Deshace todos los cambios pendientes, regresando al estado en el que estaba antes de la actualización (Update), inserción (Insert) o borrados (Delete) iniciados por el usuario. Ejemplo 10 Borrar el registro de la vendedora ANA SQL> DELETE FROM emp WHERE empno=7940 ; SQL>ROLLBACK; Rollback terminado. SAVEPOINT Marca un punto de una transacción particular en el cual se desea hacer un ROLLBACK parcial para una transacción.
Ing. CIP Edwin Iván Farro Pacífico
Pag 4
Universidad Nacional José Faustino Sánchez Carrión
Ing. CIP Edwin Iván Farro Pacífico
Ejemplo 11 Insertar el departamento MARKETING en Trujillo a la tabla Dep. y cree un savepoint para la transacción. SQL> INSERT INTO dept VALUES(80,'MARKETING','TRUJILLO'); SQL>SAVEPOINT A; Punto de grabación creado. SQL> INSERT INTO dept VALUES(90,'CONTABILIDAD','ICA'); SQL>SAVEPOINT B; Punto de grabación creado. Cambiaremos la ubicación del departamento a AMAZONAS SQL> UPDATE dept SET loc='AMAZONAS' WHERE deptno=90; SQL>ROLLBACK TO B;
Ing. CIP Edwin Iván Farro Pacífico
Pag 5