Professional Documents
Culture Documents
Manipulando Datos
Al terminar esta leccin, estars capacitado
para:
Describir cada sentencia DML.
Insertar filas en una tabla.
Modificar filas en una tabla.
Borrar filas de una tabla.
Unir filas en una tabla.
Controlar Transacciones.
Una sentencia DML es ejecutada cuando:
Verificar el ingreso.
Usar el & en una sentencia SQL para solicitar los
valores.
UPDATE table
SET column = values [, column = value, ...]
[WHERE condition];
UPDATE empleados
SET cargo_id = (SELECT cargo_id
FROM empleados
WHERE empleado_id = 205),
salario = (SELECT salario
FROM empleados
WHERE empleado_id = 205)
WHERE empleado_id = 114;
Usar sub consultas en la sentencia UPDATE
pera actualizar filas en una tabla basada en
valores de otra tabla.
UPDATE copy_emp
SET departamento_id = (SELECT departamento_id
FROM empleados
WHERE empleado_id = 100
WHERE cargo_id = (SELECT cargo_id
FROM empleados
WHERE empleado_id = 200);
UPDATE empleados
SET departamento_id = 55
WHERE departamento_id = 110;
UPDATE empleados
*
ERROR at line 1:
ORA-02291: integrity constraint (HR.EMP_DEPT_FK)
Violated parent key not found
UPDATE departamentos
SET jefe_id = DEFAULT WHERE departamento_id = 10;
Proporciona la capacidad de actualizar o de insertar
datos en una tabla de la base de datos a travs de una
condicin.
Transaccin
DELETE
SAVEPOINT A
INSERT
UPDATE
SAVEPOINT B
INSERT
UPDATE ...
SAVEPOINT update_done;
Savepoint created.
INSERT ...
ROLLBACK TO update_done;
Rollback complete.
Un COMMIT automtico ocurre bajo las
siguientes cirscunstancias:
Haciendo el COMMIT.
COMMIT;
Commit realizado.
Sepueden descartar todos las
modificaciones pendientes usando la
sentencia ROLLBACK:
Se deshacen los cambios de los datos.
El estado previo de los datos es restaurado.
El bloqueo de las filas afectadas es liberado.
DELETE FROM copy_emp
22 filas eliminadas
ROLLBACK
Rollback ejecutado
Siuna sola sentencia DML falla durante la
ejecucin, slo esa sentencia es deshecha.
El
servidor Oracle implementa un SAVEPOINT
implcito.
Todos los otros cambios son retenidos.
User B Datos
cambiados
y no
SELECT *
Read cambiados
FROM userA.empleados;
Consistent
image Antes de
cambiar
datos
antiguos
SALIDA TIEMPO SESSION 1 SESSION 2
T2
UPDATE empleados
SET salario=salario+10000
WHERE apellido = King;
24.000 T3 SELECT salario FROM empleados
WHERE apellido = King;
T4 COMMIT
34.000
T5 SELECT salario FROM empleados
WHERE apellido = King;
Bloqueos en la Base de Datos Oracle:
Bloqueo
permanece hasta un COMMIT o
ROLLBACK.
En esta prctica debers realizar las
siguientes actividades:
Insertar filas en una tabla.
Actualizar y eliminar filas en una tabla.
Controlar transacciones.
FIN