3. Después de completar esta lección, usted
debería ser capaz de hacer el siguiente:
Describir cada declaración lenguaje de
manipulación de datos (DML)
Insertar filas en una tabla
Actualizar filas de una tabla
Eliminar filas de una tabla
Realizar control de las transacciones
4. Agregar nuevas filas en una tabla
◦ Sentencia INSERT
Cambiar datos en una tabla
◦ Sentencia UPDATE
Eliminar filas de una tabla:
◦ sentencia DELETE
◦ sentencia TRUNCATE
Control de las transacciones de base de datos
utilizando COMMIT, ROLLBACK, y SAVEPOINT
Visión de consistencia
Cláusula FOR UPDATE en una sentencia SELECT
5. Una instrucción DML se ejecuta cuando:
◦ Añaden nuevas filas a una tabla
◦ Modifican las filas existentes en una tabla
◦ Eliminar las filas existentes de una tabla
Una transacción consiste en una colección
de sentencias DML que forman una unidad
lógica de trabajo.
6.
7. Añadir nuevas filas a una tabla mediante la
instrucción INSERT:
Con esta sintaxis, sólo una fila se inserta a la
vez.
8. Insertar una nueva fila que contiene los valores para
cada columna.
Los valores de lista en el orden predeterminado de
las columnas de la tabla.
Opcionalmente, se puede agregar una lista de las
columnas en la cláusula INSERT.
Incluya valores de caracter y fecha dentro de comillas
simples.
9. Método implícito: Omita la columna de la
lista de columnas.
Método explícito: especifique la palabra
clave NULL en la cláusula VALUES.
10. La función SYSDATE registra la fecha y
hora actuales.
11. Añadir un nuevo empleado.
Verifique su adición.
12. Utilice la variable de sustitución & en una
sentencia SQL para solicitar valores.
& es un placeholder (marcador de
posición) para el valor de la variable.
13. Escriba su sentencia INSERT con una subconsulta:
No utilice la cláusula VALUES.
Haga coincidir el número de columnas en la cláusula
INSERT para los de la subconsulta.
Inserta todas las filas devueltas por la subconsulta en
la tabla sales_reps.
14. Agregar nuevas filas en una tabla
◦ Sentencia INSERT
Cambiar datos en una tabla
◦ Sentencia UPDATE
Eliminar filas de una tabla:
◦ sentencia DELETE
◦ sentencia TRUNCATE
Control de las transacciones de base de datos
utilizando COMMIT, ROLLBACK, y SAVEPOINT
Visión de consistencia
Cláusula FOR UPDATE en una sentencia SELECT
15.
16. Modificar los valores existentes en una
tabla con la actualización declaración:
Actualización de más de una fila a la vez
(si es necesario).
17. Los valores de una fila o filas específicas son modificadas si especificar
la cláusula WHERE:
Los valores de todas las filas de la tabla se modifican si se omite la
cláusula WHERE:
Especificar set column_name = NULL para actualizar una columna valor a
NULL.
18. Actualizar al empleado con Job 11 y
actualizar el salario y el job con lo que
posee e empleado 205
19. Utilice las subconsultas en las sentencias
UPDATE para actualizar la fila valores en
una tabla basada en los valores de otra
tabla:
20. Agregar nuevas filas en una tabla
◦ Sentencia INSERT
Cambiar datos en una tabla
◦ Sentencia UPDATE
Eliminar filas de una tabla:
◦ sentencia DELETE
◦ sentencia TRUNCATE
Control de las transacciones de base de datos
utilizando COMMIT, ROLLBACK, y SAVEPOINT
Visión de consistencia
Cláusula FOR UPDATE en una sentencia SELECT
21.
22. Se puede eliminar filas existentes de una
tabla utilizando la sentencia DELETE:
23. Filas específicas se eliminan si se especifica la
cláusula WHERE:
Se eliminan todas las filas de la tabla si se
omite el WHERE cláusula:
24. Utilice las subconsultas en las sentencias
DELETE para eliminar filas de una tabla
basada en los valores de otra tabla:
25. Elimina todas las filas de una tabla, dejando la
tabla vacía y la estructura de la tabla intacta
Es una declaración de lenguaje de definición de
datos (DDL) en lugar de una Instrucción DML; no
puede ser fácilmente deshecho
Sintaxis:
Ejemplo:
26. Agregar nuevas filas en una tabla
◦ Sentencia INSERT
Cambiar datos en una tabla
◦ Sentencia UPDATE
Eliminar filas de una tabla:
◦ sentencia DELETE
◦ sentencia TRUNCATE
Control de las transacciones de base de datos
utilizando COMMIT, ROLLBACK, y SAVEPOINT
Visión de consistencia
Cláusula FOR UPDATE en una sentencia SELECT
27. Una transacción de base de datos consta de una
de la siguientes:
Una instrucción DML que constituyen un
cambio consistente para los datos
Una instrucción DDL
Una declaración de lenguaje de control de
datos (DCL)
28. Comienza cuando se ejecuta la primera
instrucción DML SQL.
Terminar con uno de los siguientes eventos:
◦ Cuando se emite sentencia Un COMMIT o ROLLBACK.
◦ Cuando se ejecuta una sentencia DDL o DCL (commit
automática).
◦ El usuario sale SQL Developer o SQL * Plus.
◦ El sistema se bloquea.
29. Con declaraciones COMMIT y ROLLBACK, se
puede:
Garantizar la coherencia de los datos
Pre visualizar los cambios antes que los
mismos sean efectivos
Operaciones en grupo lógicamente
relacionados
30.
31. Crear un marcador en la transacción actual
mediante el Sentencia SAVEPOINT.
Revertir a ese marcador utilizando la
sentencia ROLLBACK TO SAVEPOINT.
32. Un COMMIT automático se produce en la siguiente
circunstancias:
◦ Una declaración emitida DDL
◦ Una declaración emitida DCL
◦ La salida normal de SQL Developer o SQL * Plus, sin escribir
explícitamente COMMIT o ROLLBACK
Una reversión automática se produce cuando hay un
anormal terminación de SQL Developer o SQL * Plus o
el sistema falló.
33. El estado anterior de los datos se puede recuperar.
El usuario actual puede revisar los resultados de las
operaciones DLM mediante el uso de la instrucción
SELECT.
Otros usuarios no pueden ver los resultados de las
sentencias DML emitido por el usuario actual.
Las filas afectadas están bloqueados; otros usuarios
no pueden cambiar los datos en las filas afectadas.
34. Los cambios en los datos se guardan en la
base de datos.
El estado anterior de los datos se sobrescribe.
Todos los usuarios pueden ver los resultados.
El bloqueos en las filas afectadas son
liberados; esas filas están disponible para
otros usuarios manipular.
Todos los puntos de savepoints se borran.
36. Deseche todos los cambios pendientes utilizando la
declaración ROLLBACK:
Se deshacen los cambios en los datos.
El estado anterior de los datos ha sido restaurado.
Los bloqueos en las filas afectadas son liberados.
37.
38. Si una sola instrucción DML falla durante la
ejecución, sólo esa declaración se deshace.
El servidor de Oracle implementa un punto de
salvaguarda implícita.
Se conservan todos los otros cambios.
El usuario debe terminar transacciones
explícitamente por la ejecución de una sentencia
COMMIT o ROLLBACK.
39. Agregar nuevas filas en una tabla
◦ Sentencia INSERT
Cambiar datos en una tabla
◦ Sentencia UPDATE
Eliminar filas de una tabla:
◦ sentencia DELETE
◦ sentencia TRUNCATE
Control de las transacciones de base de datos
utilizando COMMIT, ROLLBACK, y SAVEPOINT
Visión de consistencia
Cláusula FOR UPDATE en una sentencia SELECT
40. La visión de consistencia garantiza una visión
consistente de los datos en todo momento.
Los cambios realizados por un usuario no entren
en conflicto con los cambios realizados por otro
usuario.
Leer consistencia asegura que, en los mismos
datos:
◦ Los lectores no esperan a los escritores
◦ Los escritores no esperan a los lectores
◦ Los escritores esperan escritores
41.
42. Agregar nuevas filas en una tabla
◦ Sentencia INSERT
Cambiar datos en una tabla
◦ Sentencia UPDATE
Eliminar filas de una tabla:
◦ sentencia DELETE
◦ sentencia TRUNCATE
Control de las transacciones de base de datos
utilizando COMMIT, ROLLBACK, y SAVEPOINT
Visión de consistencia
Cláusula FOR UPDATE en una sentencia SELECT
43. Bloquea las filas de la tabla EMPLEADOS donde job_id es
SA_REP.
EL bloqueo se libera sólo cuando se emite un ROLLBACK o un
COMMIT.
Si la sentencia SELECT intenta bloquear una fila que es
bloqueado por otro usuario, la base de datos espera hasta
que la fila este disponibles, y luego devuelve los resultados
de la sentencia SELECT.
44. Se puede utilizar la cláusula FOR UPDATE en una declaración
SELECT en contra de varias tablas.
Las filas de los empleados y las tablas DEPARTAMENTS están
bloqueadas.
Utiliza FOR UPDATE DE column_name para calificar la
columna tiene la intención de cambiar, entonces sólo las filas
de esa específica tabla están bloqueados.
46. En esta lección, debe haber aprendido a utilizar el
siguientes declaraciones:
47. Esta práctica se abordan los siguientes temas:
Inserción de filas en las tablas
Actualizar y suprimir filas de la tabla
El control de las transacciones