SlideShare uma empresa Scribd logo
1 de 17
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   AUTORES Félix Antonio Céspedes Giraldo Jazmín Castillo Ortegón Stephanny Padilla Duque UNIVERSIDAD DE MANIZALES FACULTAD DE INGENIERÍA PROGRAMA INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES MANIZALES, 6 DE MAYO DE 2011
COMMIT 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. 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.
TRANSACCIONES
Restricciones en el uso de COMMIT 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.  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.
Commit work	     Termina una transacción, y hace que los intentos de cambios sean aplicados a la base de datos y sean permanentes.      Las tres tablas fueron      actualizadas para reflejar     la eliminación de filas con     un valor CNO de ‘XXX’
ROLLBACK 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  se puede utilizar para cualquiera:  ,[object Object]
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. ,[object Object]
TRIGGERS	 EJEMPLO
TRIGGERS	 EXPLICACIÓN       El disparador “default_class_end” sera disparado antes de que la sentencia INSERT se efectúe en la tabla cl_sched.        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. NOTA        DB2 maneja tres tipos de disparadores: “before” o “antes”, “after” o “después” e “instead”o “en lugar de”.
TRIGGERS	 OTRO EJEMPLO CREATE TRIGGER audit_emp_sal AFTER UPDATE OF salary ON employee REFERENCING OLD AS o NEW AS n FOR EACH ROW MODE DB2SQL INSERT INTO audit VALUES ( CURRENT TIMESTAMP, ' Employee ' || o.empno || ' salary changed from ' || CHAR(o.salary) || ' to ' || CHAR(n.salary) || ' by ' || USER)
TRIGGERS	 EXPLICACIÓN      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.
PROCEDIMIENTOS ALMACENADOS	 ESTRUCTURA      La sintaxis básica de un procedimiento almacenado se muestra aquí.       CREATE PROCEDURE proc_name [( {parametros opcionales} )]       [atributos opcionales del procedimiento] <statement>      Donde <statement> es una sentencia individual, o un conjunto de sentencias agrupadas por BEGIN [ATOMIC]… END
PROCEDIMIENTOS ALMACENADOS	 ATRIBUTOS OPCIONALES       A continuación se describen algunos de los atributos del procedimiento almacenado: LANGUAGE SQL (Lenguaje SQL)        Este atributo indica el idioma del procedimiento almacenado que se va a utilizar.       LANGUAGE SQL es el valor por defecto. Para otros idiomas, tales como   Java o C utilizar un LANGUAGE JAVA o LANGUAGE C, respectivamente. RESULT SETS <n> (Conjunto de Resultados <n>) Esto es necesario si el procedimiento almacenado devuelve un conjunto n de resultados.
PROCEDIMIENTOS ALMACENADOS	 ATRIBUTOS OPCIONALES        SPECIFIC my_unique_name (Especificar mi_unico_nombre)  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:        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.
PROCEDIMIENTOS ALMACENADOS	 PARAMETROS Existen tres tipos de parámetros en un procedimiento almacenado SQL PL:     • IN – parámetro de entrada     • OUT – parámetro de salida     • INOUT – parámetro de entrada y salida
PROCEDIMIENTOS ALMACENADOS	 EJEMPLO        CREATE PROCEDURE P2 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT)         LANGUAGE SQL SPECIFIC myP2        BEGIN     		SET v_p2 = v_p2 + v_p1; 	    	SET v_p3 = v_p1;        END        Para llamar al procedimiento desde el comando Editor, use: call P2 (3, 4, ?)        El signo de interrogación (?) Se utiliza para los parámetros de salida en la declaración de llamada.
BIBLIOGRAFÍA 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

Mais conteúdo relacionado

Mais procurados (20)

Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
PLSQL Cursors
PLSQL CursorsPLSQL Cursors
PLSQL Cursors
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
PL/SQL Fundamentals I
PL/SQL Fundamentals IPL/SQL Fundamentals I
PL/SQL Fundamentals I
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Triggers en BD mysql
Triggers en BD mysqlTriggers en BD mysql
Triggers en BD mysql
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
PL/SQL TRIGGERS
PL/SQL TRIGGERSPL/SQL TRIGGERS
PL/SQL TRIGGERS
 
Procedure and Functions in pl/sql
Procedure and Functions in pl/sqlProcedure and Functions in pl/sql
Procedure and Functions in pl/sql
 
Vistas
VistasVistas
Vistas
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Sentencias dml y ddl
Sentencias dml y ddlSentencias dml y ddl
Sentencias dml y ddl
 
Cursors in MySQL
Cursors in MySQL Cursors in MySQL
Cursors in MySQL
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
pl/sql online Training|sql online Training | iTeknowledge
pl/sql online Training|sql online Training | iTeknowledgepl/sql online Training|sql online Training | iTeknowledge
pl/sql online Training|sql online Training | iTeknowledge
 
Sql
SqlSql
Sql
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Examen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoExamen final de base de datos ii solucionado
Examen final de base de datos ii solucionado
 

Semelhante a TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM

Semelhante a TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM (20)

Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Afinamientodebasesdedatosyservidoreswebs
AfinamientodebasesdedatosyservidoreswebsAfinamientodebasesdedatosyservidoreswebs
Afinamientodebasesdedatosyservidoreswebs
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
Tema 10
Tema 10Tema 10
Tema 10
 
Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)Sesion10 - Funciones y procedimientos (Oracle)
Sesion10 - Funciones y procedimientos (Oracle)
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
procedimientos almacenados
 procedimientos almacenados procedimientos almacenados
procedimientos almacenados
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Disparadores - base de datos
Disparadores - base de datosDisparadores - base de datos
Disparadores - base de datos
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx5. PROGRAMACION ESTRUCTURADA C++.pptx
5. PROGRAMACION ESTRUCTURADA C++.pptx
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 
Sql
SqlSql
Sql
 

Último

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM

  • 1. TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM AUTORES Félix Antonio Céspedes Giraldo Jazmín Castillo Ortegón Stephanny Padilla Duque UNIVERSIDAD DE MANIZALES FACULTAD DE INGENIERÍA PROGRAMA INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES MANIZALES, 6 DE MAYO DE 2011
  • 2. COMMIT 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. 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.
  • 4. Restricciones en el uso de COMMIT 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. 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.
  • 5. Commit work Termina una transacción, y hace que los intentos de cambios sean aplicados a la base de datos y sean permanentes. Las tres tablas fueron actualizadas para reflejar la eliminación de filas con un valor CNO de ‘XXX’
  • 6.
  • 7.
  • 9. TRIGGERS EXPLICACIÓN El disparador “default_class_end” sera disparado antes de que la sentencia INSERT se efectúe en la tabla cl_sched. 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. NOTA DB2 maneja tres tipos de disparadores: “before” o “antes”, “after” o “después” e “instead”o “en lugar de”.
  • 10. TRIGGERS OTRO EJEMPLO CREATE TRIGGER audit_emp_sal AFTER UPDATE OF salary ON employee REFERENCING OLD AS o NEW AS n FOR EACH ROW MODE DB2SQL INSERT INTO audit VALUES ( CURRENT TIMESTAMP, ' Employee ' || o.empno || ' salary changed from ' || CHAR(o.salary) || ' to ' || CHAR(n.salary) || ' by ' || USER)
  • 11. TRIGGERS EXPLICACIÓN 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.
  • 12. PROCEDIMIENTOS ALMACENADOS ESTRUCTURA La sintaxis básica de un procedimiento almacenado se muestra aquí. CREATE PROCEDURE proc_name [( {parametros opcionales} )] [atributos opcionales del procedimiento] <statement> Donde <statement> es una sentencia individual, o un conjunto de sentencias agrupadas por BEGIN [ATOMIC]… END
  • 13. PROCEDIMIENTOS ALMACENADOS ATRIBUTOS OPCIONALES A continuación se describen algunos de los atributos del procedimiento almacenado: LANGUAGE SQL (Lenguaje SQL) Este atributo indica el idioma del procedimiento almacenado que se va a utilizar. LANGUAGE SQL es el valor por defecto. Para otros idiomas, tales como Java o C utilizar un LANGUAGE JAVA o LANGUAGE C, respectivamente. RESULT SETS <n> (Conjunto de Resultados <n>) Esto es necesario si el procedimiento almacenado devuelve un conjunto n de resultados.
  • 14. PROCEDIMIENTOS ALMACENADOS ATRIBUTOS OPCIONALES SPECIFIC my_unique_name (Especificar mi_unico_nombre) 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: 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.
  • 15. PROCEDIMIENTOS ALMACENADOS PARAMETROS Existen tres tipos de parámetros en un procedimiento almacenado SQL PL: • IN – parámetro de entrada • OUT – parámetro de salida • INOUT – parámetro de entrada y salida
  • 16. PROCEDIMIENTOS ALMACENADOS EJEMPLO CREATE PROCEDURE P2 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT) LANGUAGE SQL SPECIFIC myP2 BEGIN SET v_p2 = v_p2 + v_p1; SET v_p3 = v_p1; END Para llamar al procedimiento desde el comando Editor, use: call P2 (3, 4, ?) El signo de interrogación (?) Se utiliza para los parámetros de salida en la declaración de llamada.
  • 17. BIBLIOGRAFÍA 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