TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM  <br />AUTORES<br />Félix Antonio Céspedes Giraldo<br />Jazmí...
COMMIT<br />Informa al sistema de que se aceptan los cambios hechos dentro de la transacción y de que deberían aplicarse a...
TRANSACCIONES<br />
Restricciones en el uso de COMMIT<br />La sentencia COMMIT no se pueden utilizar en el IMS o el medio ambiente CICS. Para ...
Commit work	<br />    Termina una transacción, y hace que los intentos de cambios sean aplicados a la base de datos y sean...
ROLLBACK<br />Informa al sistema de que se a localizado una situación inaceptable y que deben ignorarse todos los cambios ...
Volver a cabo sólo los cambios realizados después de un punto de retorno se creó dentro de la unidad de recuperación sin f...
TRIGGERS	<br />EJEMPLO<br />
TRIGGERS	<br />EXPLICACIÓN<br />      El disparador “default_class_end” sera disparado antes de que la sentencia INSERT se...
TRIGGERS	<br />OTRO EJEMPLO<br />CREATE TRIGGER audit_emp_sal<br />AFTER UPDATE OF salary ON employee<br />REFERENCING OLD...
TRIGGERS	<br />EXPLICACIÓN<br />     En este ejemplo, el disparador audit_emp_sal es utilizado para realizar auditoria en ...
PROCEDIMIENTOS ALMACENADOS	<br />ESTRUCTURA<br />     La sintaxis básica de un procedimiento almacenado se muestra aquí.<b...
PROCEDIMIENTOS ALMACENADOS	<br />ATRIBUTOS OPCIONALES<br />      A continuación se describen algunos de los atributos del ...
PROCEDIMIENTOS ALMACENADOS	<br />ATRIBUTOS OPCIONALES<br />       SPECIFIC my_unique_name (Especificar mi_unico_nombre) <b...
PROCEDIMIENTOS ALMACENADOS	<br />PARAMETROS<br />Existen tres tipos de parámetros en un procedimiento almacenado SQL PL:<b...
PROCEDIMIENTOS ALMACENADOS	<br />EJEMPLO<br />       CREATE PROCEDURE P2 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT) <br ...
BIBLIOGRAFÍA<br />C O N O C I E N D O E L DB2 Express-C. Disponibilidad y acceso: ftp://ftp.software.ibm.com/software/data...
Upcoming SlideShare
Loading in …5
×

TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM

13,843 views

Published on

TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
13,843
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
382
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM

  1. 1. TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM <br />AUTORES<br />Félix Antonio Céspedes Giraldo<br />Jazmín Castillo Ortegón<br />Stephanny Padilla Duque<br />UNIVERSIDAD DE MANIZALES<br />FACULTAD DE INGENIERÍA<br />PROGRAMA INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES<br />MANIZALES, 6 DE MAYO DE 2011<br />
  2. 2. COMMIT<br />Informa al sistema de que se aceptan los cambios hechos dentro de la transacción y de que deberían aplicarse a la base de datos o ejecutarse.<br />termina una unidad de recuperación y confirma los cambios de base de datos relacional que se hicieron en esa unidad de recuperación. Si las bases de datos relacionales son los únicos recursos de reembolso utilizada por el proceso de solicitud, COMMIT también termina la unidad de trabajo. <br />
  3. 3. TRANSACCIONES<br />
  4. 4. Restricciones en el uso de COMMIT<br />La sentencia COMMIT no se pueden utilizar en el IMS o el medio ambiente CICS. Para que una operación de confirmación en estos ambientes, los programas de SQL debe utilizar la llamada prescrito por su gestor de transacciones. El efecto de estas operaciones de confirmación en los datos de DB2 es el mismo que el de la sentencia SQL COMMIT. <br />La sentencia COMMIT no se pueden utilizar en un procedimiento almacenado si el procedimiento está en la cadena de llamadas de una función definida por el usuario o un desencadenador o DB2 no es el coordinador de cometer. <br />
  5. 5. Commit work <br /> Termina una transacción, y hace que los intentos de cambios sean aplicados a la base de datos y sean permanentes.<br /> Las tres tablas fueron<br /> actualizadas para reflejar<br /> la eliminación de filas con<br /> un valor CNO de ‘XXX’<br />
  6. 6. ROLLBACK<br />Informa al sistema de que se a localizado una situación inaceptable y que deben ignorarse todos los cambios realizados desde el principio de la transacción <br />se puede utilizar para cualquiera: <br /><ul><li>Finalización de una unidad de recuperación y de vuelta todos los cambios de base de datos relacional que se hicieron por esa unidad de recuperación. Si las bases de datos relacionales son los únicos recursos de reembolso utilizada por el proceso de solicitud, ROLLBACK termina también la unidad de trabajo.
  7. 7. Volver a cabo sólo los cambios realizados después de un punto de retorno se creó dentro de la unidad de recuperación sin finalizar la unidad de recuperación. Hacer retroceder a un punto de retorno permite seleccionar los cambios que se deshagan. </li></li></ul><li>ROLLBACK WORK <br />Permite deshacer cualquier cambio que no ha sido confirmado posteriormente con commit.<br /> Las filas que referencias al <br /> curso c11 permanecen en<br /> las tablas podemos <br /> ejecutar esto ejecutando <br /> una sentencia select que <br /> confirme su presencia<br />
  8. 8. TRIGGERS <br />EJEMPLO<br />
  9. 9. TRIGGERS <br />EXPLICACIÓN<br /> El disparador “default_class_end” sera disparado antes de que la sentencia INSERT se efectúe en la tabla cl_sched. <br /> La variable “n” en la definición del trigger representa el nuevo valor en un INSERT, esto es, el valor que esta siendo insertado. El disparador verificará la validez de lo que está siendo insertado a la tabla. Si la columna “ending” no tiene un valor durante la inserción, el disparador asegurará que tenga el valor de la columna “starting” mas 1 hora.<br />NOTA<br /> DB2 maneja tres tipos de disparadores: “before” o “antes”, “after” o “después” e “instead”o “en lugar de”.<br />
  10. 10. TRIGGERS <br />OTRO EJEMPLO<br />CREATE TRIGGER audit_emp_sal<br />AFTER UPDATE OF salary ON employee<br />REFERENCING OLD AS o NEW AS n<br />FOR EACH ROW<br />MODE DB2SQL<br />INSERT INTO audit VALUES (<br />CURRENT TIMESTAMP, ' Employee ' || o.empno || ' salary changed<br />from ' || CHAR(o.salary) || ' to ' || CHAR(n.salary) || ' by ' ||<br />USER)<br />
  11. 11. TRIGGERS <br />EXPLICACIÓN<br /> En este ejemplo, el disparador audit_emp_sal es utilizado para realizar auditoria en la columna “salary” de la tabla “employee”. Cuando alguien hace un cambio en esta columna, el disparador será lanzado para escribir información acerca del cambio hecho en el salario en otra tabla llamada “audit”. La línea “OLD as o NEW as n” indica que el prefijo “o” será utilizado para representar el valor anterior o el existente en la tabla, y el prefijo “n” será utilizado para representar el nuevo valor que viene de la operación UPDATE. Por lo que “o.salary” representa el valor anterior o el actual del salario y “n.salary” representa el valor actualizado para la columna salario.<br />
  12. 12. PROCEDIMIENTOS ALMACENADOS <br />ESTRUCTURA<br /> La sintaxis básica de un procedimiento almacenado se muestra aquí.<br /> CREATE PROCEDURE proc_name [( {parametros opcionales} )]<br /> [atributos opcionales del procedimiento] <statement><br /> Donde <statement> es una sentencia individual, o un conjunto de sentencias agrupadas por BEGIN [ATOMIC]… END<br />
  13. 13. PROCEDIMIENTOS ALMACENADOS <br />ATRIBUTOS OPCIONALES<br /> A continuación se describen algunos de los atributos del procedimiento almacenado:<br />LANGUAGE SQL (Lenguaje SQL) <br /> Este atributo indica el idioma del procedimiento almacenado que se va a utilizar.<br /> LANGUAGE SQL es el valor por defecto. Para otros idiomas, tales como Java o C utilizar un LANGUAGE JAVA o LANGUAGE C, respectivamente.<br />RESULT SETS <n> (Conjunto de Resultados <n>)<br />Esto es necesario si el procedimiento almacenado devuelve un conjunto n de resultados.<br />
  14. 14. PROCEDIMIENTOS ALMACENADOS <br />ATRIBUTOS OPCIONALES<br /> SPECIFIC my_unique_name (Especificar mi_unico_nombre) <br />Este es un nombre único que se le puede dar a un procedimiento. Un procedimiento almacenado puede estar sobrecargado, es decir, varios procedimientos almacenados pueden tener el mismo nombre, pero con diferente número de parámetros. Mediante el uso de la palabra clave específica puede proporcionar un nombre único para cada uno de estos procedimientos almacenados, y esto puede facilitar la administración de procedimientos almacenados. Por ejemplo, para eliminar un procedimiento almacenado utilizando la palabra clave específica, puede utilizar esta declaración:<br /> DROP SPECIFIC (procedimiento específico). Si la palabra clave SPECIFIC (específica) no se hubiera utilizado, usted tendría que utilizar un procedimiento de declaración DROP y poner el nombre del procedimiento con todos los parámetros a fin de que DB2 sepa cual procedimiento almacenado sobrecargado quería eliminar. <br />
  15. 15. PROCEDIMIENTOS ALMACENADOS <br />PARAMETROS<br />Existen tres tipos de parámetros en un procedimiento almacenado SQL PL:<br /> • IN – parámetro de entrada<br /> • OUT – parámetro de salida<br /> • INOUT – parámetro de entrada y salida <br />
  16. 16. PROCEDIMIENTOS ALMACENADOS <br />EJEMPLO<br /> CREATE PROCEDURE P2 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT) <br /> LANGUAGE SQL SPECIFIC myP2<br /> BEGIN<br /> SET v_p2 = v_p2 + v_p1;<br /> SET v_p3 = v_p1;<br /> END<br /> Para llamar al procedimiento desde el comando Editor, use:<br />call P2 (3, 4, ?)<br /> El signo de interrogación (?) Se utiliza para los parámetros de salida en la declaración de llamada.<br />
  17. 17. BIBLIOGRAFÍA<br />C O N O C I E N D O E L DB2 Express-C. Disponibilidad y acceso: ftp://ftp.software.ibm.com/software/data/db2/express-c/wiki/Conociendo_DB2_Express_v9.5.pdf<br />

×