SlideShare una empresa de Scribd logo
2
Lo más leído
3
Lo más leído
DISPARADORES Y  PROCEDIMIENTOS
DISPARADORES  También conocidos como  TRIGGERS  , es un bloque  de código almacenado en base de datos que se activa cuando se pulsa una determinada tecla u ocurre un determinado evento automáticamente, un disparador esta asociado a una tabla  como puede ser:  - Realizar una consulta. - Validar un dato. - Hacer una operación DML  inserta, modificar   o eliminar registros de una base de datos.
DISPARADORES En definitiva los DISPARADORES (TIGGERS) son eventos a nivel de tabla que se ejecutan automáticamente cuando se realizan ciertas operaciones sobre la tabla. Existen varios tipos de disparadores, dependiendo del tipo de transacción de disparo y el nivel en el que se ejecuta el disparador (trigger):
DISPARADORES 1.-  Disparadores de nivel de fila : se ejecutan una vez para cada fila afectada por una instrucción DML. Los disparadores de nivel de fila se crean utilizando la cláusula  for each row  en el comando  create trigger . 2.-  Disparadores de nivel de instrucción : se ejecutan una vez para cada instrucción DML. Por ejemplo, si una única instrucción INSERT inserta 500 filas en una tabla un disparador de nivel de instrucción para dicha tabla sólo se ejecutará una vez. Los disparadores de nivel de instrucción son el tipo predeterminado que se crea con el comando  create trigger .
DISPARADORES 3.-  Disparadores Before y After : puesto que los disparadores son ejecutados por sucesos, puede establecerse que se produzcan inmediatamente antes (before) o después (after) de dichos sucesos. 4.-  Disparadores Instead Of : puede utilizar INSTEAD OF para indicar a Oracle lo que tiene que hacer en lugar de realizar las acciones que invoca el disparador. Por ejemplo, podría usar un disparador INSTEAD OF en una vista para gestionar las inserciones en una tabla o para actualizar múltiples tablas que son parte de una vista.
DISPARADORES 5.-  Disparadores de esquema : puede crear disparadores sobre operaciones en el nivel de esquema tales como create table, alter table, drop table, audit, rename, truncate y revoke. Puede incluso crear disparadores para impedir que los usuarios eliminen sus propias tablas. En su mayor parte, los disparadores de nivel de esquema proporcionan dos capacidades: impedir operaciones DDL y proporcionar una seguridad adicional que controle las operaciones DDL cuando éstas se producen. 6.-  Disparadores en nivel de base de datos : puede crear disparadores que se activen al producirse sucesos de la base de datos, incluyendo errores, inicios de sesión, conexiones y desconexiones. Puede utilizar este tipo de disparador para automatizar el mantenimiento de la base de datos o las acciones de auditoría.
1.-  Nombre del trigger. ( create [or replace] trigger  <nombre del trigger>) 2.-  Punto de tiempo del trigger ( before   | after ) 3.-  Disparando eventos ( insert or update [of  <columnas> ]  or delete  <tabla>) 4.-  Tipo de disparador (opcional) ( for each row ) 5.-  Restricción del disparador (Solo para   for each row  disparador) ( when < Condición > ) 6.-  Cuerpo del disparador Estructura de Disparadores   Una definición del disparador consiste en los siguiente componentes:
PROCEDIMIENTOS ALMACENADOS Un procedimiento es un conjunto de sentencias de SQL y que se guarda en la base de datos Con los procedimientos se amplia la velocidad de ejecución de las consultas sin reducir la eficiencia en la respuesta del servidor de base de datos. Esto porque el procedimiento es compilado en memoria virtual del cliente En los procedimientos se pueden crear tablas temporales que solamente existirán durante la ejecución del mismo Los valores resultantes de la ejecución del procedimiento serán obtenidos de la última consulta especificada, siempre y cuando no se envíen a una tabla temporal Se define una tabla temporal al anteponer el símbolo “ # ”   a su nombre
Crear un Procedimiento Crea un procedimiento almacenado, que es una colección guardada de instrucciones Transact-SQL que puede tomar y devolver los parámetros proporcionados por el usuario. Los procedimientos se pueden crear para uso permanente o para uso temporal en una sesión (procedimiento local temporal) o para su uso temporal en todas las sesiones (procedimiento temporal global). Sintaxis CREATE PROCEDURE  procedure_name  [  ;  number  ]      [ { @ parameter data_type  }           ] go
Argumentos procedure_name Es el nombre del nuevo procedimiento almacenado. Los nombres de procedimiento deben seguir las reglas de los identificadores y deben ser únicos en la base de datos y para su propietario. Los procedimientos temporales locales o globales se pueden crear precediendo el  procedure_name  con un signo numérico simple (# procedure_name ) para los procedimientos temporales locales y un signo numérico doble (## procedure_name ) para los procedimientos temporales globales. El nombre completo, incluidos los signos # o ##, no puede exceder de 128 caracteres. Especificar el nombre del propietario del procedimiento es opcional.
; number Es un entero opcional utilizado para agrupar procedimientos del mismo nombre de forma que se puedan quitar juntos con una única instrucción DROP PROCEDURE. Por ejemplo, los procedimientos utilizados con una aplicación llamada &quot;orders&quot; se pueden llamar  orderproc ;1,  orderproc ;2, etc. La instrucción DROP PROCEDURE  orderproc  quita el grupo completo. Si el nombre contiene identificadores delimitados, el número no debe incluirse como parte del identificador; utilice el delimitador adecuado sólo alrededor de  procedure_name .
@ parameter Es un parámetro del procedimiento. En una instrucción CREATE PROCEDURE se pueden declarar uno o más parámetros. El usuario debe proporcionar el valor de cada parámetro declarado cuando se ejecuta el procedimiento, a menos que se haya definido un valor predeterminado para el parámetro. Un procedimiento almacenado puede tener un máximo de 2.100 parámetros. Especifique un nombre de parámetro con un signo (@) como el primer carácter. Los nombres de los parámetros deben cumplir las reglas de los identificadores. Los parámetros son locales para el procedimiento; los mismos nombres de parámetro se pueden utilizar en otros procedimientos. De forma predeterminada, los parámetros sólo pueden ocupar el lugar de constantes; no se pueden utilizar en lugar de nombres de tablas, nombres de columnas o nombres de otros objetos de base de datos.
data_type Es el tipo de datos del parámetro. Todos los tipos de datos, incluidos  text ,  ntext  e  image , se pueden utilizar como parámetros de un procedimiento almacenado.
Eliminar y Ejecutar un Procedimiento Sintaxis para eliminar drop procedure  nombre del procedimiento Sintaxis para ejecutar nombre del procedimiento parámetro 1, parámetro 2, parámetro n Ejecutar el procedimiento nombre del procedimiento

Más contenido relacionado

PPTX
Interrelaciones
PPTX
Disparadores Trigger En Sql Y My Sql
PDF
Transacciones
PPTX
Los 13 diagramas UML y sus componentes
DOCX
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
PDF
5. Ejercicios normalización
PDF
3. modelo entidad relación extendido
PPTX
Base de datos distribuidas
Interrelaciones
Disparadores Trigger En Sql Y My Sql
Transacciones
Los 13 diagramas UML y sus componentes
PROCEDIMIENTOS ALMACNEADOS Y DISPARADORES - Informe de los videos
5. Ejercicios normalización
3. modelo entidad relación extendido
Base de datos distribuidas

La actualidad más candente (20)

PDF
Normalizacion de base de datos
PPTX
Interbloqueo sistemas operativos
PPTX
Diagrama de dominio armando
PDF
Clase 11 uml_casos_de_uso
PPTX
Normalizacion de bases de datos
PPTX
Normalización de Base de Datos
PPTX
Taller de Base de Datos - Unidad 6 SQL procedural
PPTX
Bitácora de base de datos
PPTX
Tipos de usuarios de base de datos diapositivas
PPT
Sql presentacion
PPTX
TRIGGERS O DISPARADORES
PDF
Triggers en BD mysql
PPTX
Modelo Entidad Relación
PPTX
Diagrama de Componentes
PDF
Base de datos relacionales
PDF
Formas Normales
PPTX
Sistemas operativos procesos
PDF
Casos de uso
PPT
Como Documentar Casos De Uso
Normalizacion de base de datos
Interbloqueo sistemas operativos
Diagrama de dominio armando
Clase 11 uml_casos_de_uso
Normalizacion de bases de datos
Normalización de Base de Datos
Taller de Base de Datos - Unidad 6 SQL procedural
Bitácora de base de datos
Tipos de usuarios de base de datos diapositivas
Sql presentacion
TRIGGERS O DISPARADORES
Triggers en BD mysql
Modelo Entidad Relación
Diagrama de Componentes
Base de datos relacionales
Formas Normales
Sistemas operativos procesos
Casos de uso
Como Documentar Casos De Uso
Publicidad

Similar a Disparadores - base de datos (20)

PPT
Disparadores 1213820550525607-9
PDF
Teoria procedimientos almacenados
PPT
Funciones store proc_triggers
DOCX
Postgres trigger
PPT
TRIGGERS
PPT
Bd L8 Eq9 Pre Rosa Triggers
PDF
Transacciones y sql procedural EN MySQL
PDF
Funciones store proc_triggers
PPTX
Disparadores
PPTX
Disparadores
PPTX
Trigger Data Base
PPTX
Disparadores
DOCX
Trabajo grupal - Base de Datos
PPTX
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
DOCX
Sesión12 - Trigger (Oracle)
PPTX
Lenguaje transact sql
PDF
database trig
PDF
Procedimientos almacenados en MySQL
Disparadores 1213820550525607-9
Teoria procedimientos almacenados
Funciones store proc_triggers
Postgres trigger
TRIGGERS
Bd L8 Eq9 Pre Rosa Triggers
Transacciones y sql procedural EN MySQL
Funciones store proc_triggers
Disparadores
Disparadores
Trigger Data Base
Disparadores
Trabajo grupal - Base de Datos
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
Sesión12 - Trigger (Oracle)
Lenguaje transact sql
database trig
Procedimientos almacenados en MySQL
Publicidad

Último (20)

PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
taller de informática - LEY DE OHM
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPT
Que son las redes de computadores y sus partes
PPTX
Presentación de Redes de Datos modelo osi
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
taller de informática - LEY DE OHM
Plantilla para Diseño de Narrativas Transmedia.pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Power Point Nicolás Carrasco (disertación Roblox).pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Que son las redes de computadores y sus partes
Presentación de Redes de Datos modelo osi
Zarate Quispe Alex aldayir aplicaciones de internet .docx
introduccion a las_web en el 2025_mejoras.ppt
Estrategia de apoyo tecnología grado 9-3
Sesion 1 de microsoft power point - Clase 1
Estrategia de apoyo tecnología miguel angel solis
Propuesta BKP servidores con Acronis1.pptx
SAP Transportation Management para LSP, TM140 Col18
REDES INFORMATICAS REDES INFORMATICAS.pptx

Disparadores - base de datos

  • 1. DISPARADORES Y PROCEDIMIENTOS
  • 2. DISPARADORES También conocidos como TRIGGERS , es un bloque de código almacenado en base de datos que se activa cuando se pulsa una determinada tecla u ocurre un determinado evento automáticamente, un disparador esta asociado a una tabla como puede ser: - Realizar una consulta. - Validar un dato. - Hacer una operación DML inserta, modificar o eliminar registros de una base de datos.
  • 3. DISPARADORES En definitiva los DISPARADORES (TIGGERS) son eventos a nivel de tabla que se ejecutan automáticamente cuando se realizan ciertas operaciones sobre la tabla. Existen varios tipos de disparadores, dependiendo del tipo de transacción de disparo y el nivel en el que se ejecuta el disparador (trigger):
  • 4. DISPARADORES 1.- Disparadores de nivel de fila : se ejecutan una vez para cada fila afectada por una instrucción DML. Los disparadores de nivel de fila se crean utilizando la cláusula for each row en el comando create trigger . 2.- Disparadores de nivel de instrucción : se ejecutan una vez para cada instrucción DML. Por ejemplo, si una única instrucción INSERT inserta 500 filas en una tabla un disparador de nivel de instrucción para dicha tabla sólo se ejecutará una vez. Los disparadores de nivel de instrucción son el tipo predeterminado que se crea con el comando create trigger .
  • 5. DISPARADORES 3.- Disparadores Before y After : puesto que los disparadores son ejecutados por sucesos, puede establecerse que se produzcan inmediatamente antes (before) o después (after) de dichos sucesos. 4.- Disparadores Instead Of : puede utilizar INSTEAD OF para indicar a Oracle lo que tiene que hacer en lugar de realizar las acciones que invoca el disparador. Por ejemplo, podría usar un disparador INSTEAD OF en una vista para gestionar las inserciones en una tabla o para actualizar múltiples tablas que son parte de una vista.
  • 6. DISPARADORES 5.- Disparadores de esquema : puede crear disparadores sobre operaciones en el nivel de esquema tales como create table, alter table, drop table, audit, rename, truncate y revoke. Puede incluso crear disparadores para impedir que los usuarios eliminen sus propias tablas. En su mayor parte, los disparadores de nivel de esquema proporcionan dos capacidades: impedir operaciones DDL y proporcionar una seguridad adicional que controle las operaciones DDL cuando éstas se producen. 6.- Disparadores en nivel de base de datos : puede crear disparadores que se activen al producirse sucesos de la base de datos, incluyendo errores, inicios de sesión, conexiones y desconexiones. Puede utilizar este tipo de disparador para automatizar el mantenimiento de la base de datos o las acciones de auditoría.
  • 7. 1.- Nombre del trigger. ( create [or replace] trigger <nombre del trigger>) 2.- Punto de tiempo del trigger ( before | after ) 3.- Disparando eventos ( insert or update [of <columnas> ] or delete <tabla>) 4.- Tipo de disparador (opcional) ( for each row ) 5.- Restricción del disparador (Solo para for each row disparador) ( when < Condición > ) 6.- Cuerpo del disparador Estructura de Disparadores Una definición del disparador consiste en los siguiente componentes:
  • 8. PROCEDIMIENTOS ALMACENADOS Un procedimiento es un conjunto de sentencias de SQL y que se guarda en la base de datos Con los procedimientos se amplia la velocidad de ejecución de las consultas sin reducir la eficiencia en la respuesta del servidor de base de datos. Esto porque el procedimiento es compilado en memoria virtual del cliente En los procedimientos se pueden crear tablas temporales que solamente existirán durante la ejecución del mismo Los valores resultantes de la ejecución del procedimiento serán obtenidos de la última consulta especificada, siempre y cuando no se envíen a una tabla temporal Se define una tabla temporal al anteponer el símbolo “ # ” a su nombre
  • 9. Crear un Procedimiento Crea un procedimiento almacenado, que es una colección guardada de instrucciones Transact-SQL que puede tomar y devolver los parámetros proporcionados por el usuario. Los procedimientos se pueden crear para uso permanente o para uso temporal en una sesión (procedimiento local temporal) o para su uso temporal en todas las sesiones (procedimiento temporal global). Sintaxis CREATE PROCEDURE procedure_name [ ; number ]     [ { @ parameter data_type }         ] go
  • 10. Argumentos procedure_name Es el nombre del nuevo procedimiento almacenado. Los nombres de procedimiento deben seguir las reglas de los identificadores y deben ser únicos en la base de datos y para su propietario. Los procedimientos temporales locales o globales se pueden crear precediendo el procedure_name con un signo numérico simple (# procedure_name ) para los procedimientos temporales locales y un signo numérico doble (## procedure_name ) para los procedimientos temporales globales. El nombre completo, incluidos los signos # o ##, no puede exceder de 128 caracteres. Especificar el nombre del propietario del procedimiento es opcional.
  • 11. ; number Es un entero opcional utilizado para agrupar procedimientos del mismo nombre de forma que se puedan quitar juntos con una única instrucción DROP PROCEDURE. Por ejemplo, los procedimientos utilizados con una aplicación llamada &quot;orders&quot; se pueden llamar orderproc ;1, orderproc ;2, etc. La instrucción DROP PROCEDURE orderproc quita el grupo completo. Si el nombre contiene identificadores delimitados, el número no debe incluirse como parte del identificador; utilice el delimitador adecuado sólo alrededor de procedure_name .
  • 12. @ parameter Es un parámetro del procedimiento. En una instrucción CREATE PROCEDURE se pueden declarar uno o más parámetros. El usuario debe proporcionar el valor de cada parámetro declarado cuando se ejecuta el procedimiento, a menos que se haya definido un valor predeterminado para el parámetro. Un procedimiento almacenado puede tener un máximo de 2.100 parámetros. Especifique un nombre de parámetro con un signo (@) como el primer carácter. Los nombres de los parámetros deben cumplir las reglas de los identificadores. Los parámetros son locales para el procedimiento; los mismos nombres de parámetro se pueden utilizar en otros procedimientos. De forma predeterminada, los parámetros sólo pueden ocupar el lugar de constantes; no se pueden utilizar en lugar de nombres de tablas, nombres de columnas o nombres de otros objetos de base de datos.
  • 13. data_type Es el tipo de datos del parámetro. Todos los tipos de datos, incluidos text , ntext e image , se pueden utilizar como parámetros de un procedimiento almacenado.
  • 14. Eliminar y Ejecutar un Procedimiento Sintaxis para eliminar drop procedure nombre del procedimiento Sintaxis para ejecutar nombre del procedimiento parámetro 1, parámetro 2, parámetro n Ejecutar el procedimiento nombre del procedimiento