+ All Categories
Home > Documents > Informe de 4gl

Informe de 4gl

Date post: 30-Jul-2015
Category:
Upload: mishell-segovia
View: 196 times
Download: 2 times
Share this document with a friend
Popular Tags:
33
UNIVERSIDAD TÉCNICA DE MACHALA FACULTAD DE INGENIERÍA CIVIL ESCUELA DE INFORMÁTICA ORACLE 11G TEMA: AUTOR: ALEX ORTIZ DAYSI SEGOVIA 2011- 2012 MACHALA- EL ORO- ECUADOR
Transcript
Page 1: Informe de 4gl

UNIVERSIDAD TÉCNICA DE MACHALA

FACULTAD DE INGENIERÍA CIVIL

ESCUELA DE INFORMÁTICA

ORACLE 11G

TEMA:

AUTOR:

ALEX ORTIZ

DAYSI SEGOVIA

2011- 2012

MACHALA- EL ORO- ECUADOR

Page 2: Informe de 4gl

1. TEMA:

Page 3: Informe de 4gl

TABLA DE CONTENIDO

1. TEMA:...................................................................................................................................................... 2

2. INTRODUCCION..................................................................................................................................... 4

3. OBJETIVO............................................................................................................................................... 5

3.1 OBJETIVO GENERAL....................................................................................................................................63.2 OBJETIVO ESPECIFICO..............................................................................................................................6

4. MARCO TEORICO................................................................................................................................. 6

ORACLE.................................................................................................................................................................6¿QUÉ ES ORACLE?.............................................................................................................................................7TAREAS DE ADB..................................................................................................................................................7ESTRUCTURAS DE ORACLE............................................................................................................................7ESTRUCTURAS INTERNAS A LA BD...............................................................................................................7

Tablas:...........................................................................................................................................................7 Columnas:.....................................................................................................................................................7 Usuarios:.......................................................................................................................................................7 Esquemas:....................................................................................................................................................8 Procedimientos y Funciones:.....................................................................................................................8 Disparadores, Triggers:...............................................................................................................................8 Sinónimos:....................................................................................................................................................9 Segmento de Rollback:...............................................................................................................................9

ESTRUCTURAS DE MEMORIA INTERNAS.....................................................................................................9ESTRUCTURAS EXTERNAS A LA BD..............................................................................................................9TIPOS DE BASE....................................................................................................................................................9

RDBMS:...............................................................................................................................................................9ORDMS:...............................................................................................................................................................9OODBMS:..........................................................................................................................................................10

TOAD.....................................................................................................................................................................10TOAD DATA MODELER.....................................................................................................................................10PL/SQL..................................................................................................................................................................11ESTRUCTURA DEL BLOQUE DE CÓDIGO...................................................................................................11MANEJO DE CURSORES.................................................................................................................................11DISPARADORES (TRIGGERS)........................................................................................................................12TIPOS DE TRIGGERS PLSQL..........................................................................................................................13

A nivel de registro......................................................................................................................................13 A nivel de sentencia..................................................................................................................................13

VENTAJAS DE LOS TRIGGERS PL/SQL.......................................................................................................13Estandarización:...............................................................................................................................................13Eficiencia:..........................................................................................................................................................13Seguridad:.........................................................................................................................................................13

SINTAXIS DE LOS TRIGGERS EN PL/SQL..............................................................................................................14ACLARACIONES......................................................................................................................................................14COMANDOS PARA CREAR TRIGGERS.......................................................................................................15

Page 4: Informe de 4gl

Insert Triggers:..................................................................................................................................................15Update Triggers:...............................................................................................................................................15Delete Triggers:................................................................................................................................................15Drop Triggers:...................................................................................................................................................15Disable/Enable Triggers:.................................................................................................................................15

5. DESARROLLO...................................................................................................................................... 16

CREACIÓN DE TABLAS....................................................................................................................................16AÑADIR ENTIDADES.........................................................................................................................................17TABLAS CREADAS EN TOAD DATA MODELER.........................................................................................18ENTIDADES, RELACIONES Y SECUENCIAS CON SU RESPESTIVO ATRIBUTO................................19

6. CONCLUSIONES.................................................................................................................................. 21

7. BIBLIOGRAFIA..................................................................................................................................... 21

8. ANEXOS................................................................................................................................................ 22

ORACLE / PLSQL: ANTES DESENCADENADOR DE INSERCIÓN............................................................................22ORACLE / PLSQL: DESENCADENADOR DE INSERCIÓN DESPUÉS.......................................................................23ORACLE / PLSQL: DESENCADENADOR AFTER UPDATE......................................................................................24ORACLE / PLSQL: QUITAR UN DESENCADENADOR.............................................................................................25ORACLE / PLSQL: DESHABILITAR UN DESENCADENADOR..................................................................................26ORACLE / PLSQL: DESHABILITAR TODOS LOS DISPARADORES EN UNA MESA.................................................26ORACLE / PLSQL: HABILITAR UN DISPARO...........................................................................................................26ORACLE / PLSQL: HABILITAR TODOS LOS DISPARADORES EN UNA MESA.......................................................27

Page 5: Informe de 4gl

2. INTRODUCCION

Page 6: Informe de 4gl

3. OBJETIVO

3.1 OBJETIVO GENERALDesarrollar una base de datos que contenga procedimientos almacenados (trigger en oracle) los cuales permitirán auditarla a la misma, a través de registros de todos los eventos sucedidos en una tabla de información.

3.2 OBJETIVO ESPECIFICOAsegurar el acceso autorizado de usuario.Controlar   los accesos autorizados a la tabla de de información.Realizar consultas de diferente complejidad sobre la bases de datos mediantes los procedimiento almacenados.Automatizar tareas, de forma que estas se ejecuten antes o después de que se produzca un determinado evento sobre un objetoConocer la funcionalidad de esta herramienta en el manejo de información de base de datos.Controlar las modificaciones de los valores de los campos de una tabla (auditorías)

4. MARCO TEORICO

ORACLE

Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Soporte de transacciones.

Estabilidad.

Escalabilidad.

Soporte multiplataforma.

La base de datos Oracle en Windows ha evolucionado desde un nivel básico de integración del sistema operativo hasta utilizar servicios más avanzados en la plataforma Windows, con inclusión de los sistemas Itanium y AMD64/EM64T. Como siempre, Oracle continúa innovando y aprovechando las nuevas tecnologías de Windows. Este proyecto ofrece información general sobre las principales características de la versión más reciente de Oracle, la versión Oracle Database 11g.

Page 7: Informe de 4gl

¿QUÉ ES ORACLE?Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. Una BD Oracle está almacenada físicamente en ficheros, y la correspondencia entre los ficheros y las tablas es posible gracias a las estructuras internas de la BD, que permiten que diferentes tipos de datos estén almacenados físicamente separados. Está división lógica se hace gracias a los espacios de tablas, tablespaces.

Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación, bastante potente para tratar y gestionar la base de datos, también por norma general se suele utilizar SQL al crear un formulario.(http://www.desarrolloweb.com/articulos/840.php, 2011)

TAREAS DE ADBEvaluar el Hardware de un servidor de Base de DatosInstalar el Software de OraclePlanificar la Base de DatosCrear y Abrir Base de DatosRespaldar la Base de DatosEnrolar al Sistema de Usuario Dar PrivilegiosRecuperarse de un error de Base de Datos ImplementarseMonitorear el funcionamiento de Base de Datos

ESTRUCTURAS DE ORACLELas estructuras de la BD Oracle pueden ser divididas en tres clases:

Internas a la BDInternas a las áreas de memoria (incluidas la memoria compartida y procesos)Externas a la BD.

ESTRUCTURAS INTERNAS A LA BDLas estructuras internas son:

Tablas: Es la unidad lógica básica de almacenamiento. Contiene filas y columnas (como una matriz) y se identifica por un nombre. Columnas: Las columnas también tienen un nombre y deben especificar un tipo de datos. Una tabla se guarda dentro de un tablespace (o varios, en el caso de las tablas particionadas). Usuarios: Es la indicación del nombre y el password de la cuenta (esquema) que se está creando.

Page 8: Informe de 4gl

Esquemas: Es una colección de objetos lógicos, utilizados para organizar de manera más comprensible la información y conocidos como objetos del esquema. Una breve descripción de los objetos que lo componen es la siguiente

Índices: Un índice es una estructura creada para ayudar a recuperar datos de una manera más rápida y eficiente. Un índice se crea sobre una o varias columnas de una misma tabla. De esta manera, cuando se solicita recuperar datos de ella mediante alguna condición de búsqueda (cláusula where de la sentencia), ésta se puede acelerar si se dispone de algún índice sobre las columnas-objetivo. Clusters: Un cluster es un grupo de tablas almacenadas en conjunto físicamente como una sola tabla que comparten una columna en común. Si a menudo se necesita recuperar datos de dos o más tablas basado en un valor de la columna que tienen en común, entonces es más eficiente organizarlas como un cluster, ya que la información podrá ser recuperada en una menor cantidad de operaciones de lectura realizadas sobre el disco Vistas: Una vista implementa una selección de varias columnas de una o diferentes tablas. Una vista no almacena datos; sólo los presenta en forma dinámica. Se utilizan para simplificar la visión del usuario sobre un conjunto de tablas, haciendo transparente para él la forma de obtención de los datos Secuencias: El generador de secuencias de Oracle se utiliza para generar números únicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera al programador de obtener números secuenciales que no se repitan con los que pueda generar otro usuario en un instante determinado

Procedimientos y Funciones: Una función es un grupo de sentencias SQL, escritas generalmente en PL/SQL que implementan una serie de rutinas que devuelven un valor. Son casi idénticas a los procedimientos y sólo se diferencian en esa última condición.

Disparadores, Triggers: Un trigger es un procedimiento que se ejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos sólo pueden ser la inserción, actualización o eliminación de datos de una tabla.

Page 9: Informe de 4gl

Sinónimos: Los sinónimos son objetos del sistema que apuntan a otros objetos. Implementan alias de tablas, vistas, secuencias o unidades de programas. Por lo general se utilizan para esconder ciertos detalles del objeto que representan al usuario final.

Segmento de Rollback: son áreas lógicas de la base de datos que contienen información de las transacciones que se encuentran en curso y que aún no han sido confirmadas o deshechas.

ESTRUCTURAS DE MEMORIA INTERNASOracle mantiene dos estructuras principales de memoria: el Área Global de Programa(Program Global Area, PGA) y el Área Global del Sistema (System Global Area o también Shared Global Area, SGA).

El PGA es la zona de memoria de cada proceso Oracle. No está compartida y contiene datos e información de control de un único proceso.

El SGA es la zona de memoria en la que la BD Oracle guarda información sobre su estado. Esta estructura de memoria está disponible para todos los procesos, por eso se dice que está compartida.

ESTRUCTURAS EXTERNAS A LA BDLas estructuras externas estan contenidas por ficheros que utiliza el servidor de BD. Estos ficheros guardan información tanto de los datos almacenados en la BD como la necesaria para gobernar la propia BD.

Los ficheros son:

Ficheros de la BD

Ficheros redo log

Ficheros de control

Ficheros de Traza(Segovia, 2011)

TIPOS DE BASE

RDBMS: Sistema Administrador de Base de Datos Relacionados.ORDMS: Sistema Administrador de Base de Datos de Objetos Relacionados.

Page 10: Informe de 4gl

OODBMS: Sistema Administrador de Base de Datos Orientados a Objetos.

TOAD Es una aplicación informática de desarrollo SQL y administración de base de datos, considerada una herramienta útil para los Oracle DBAs (administradores de base de datos). Actualmente está disponible para las siguientes bases de datos: Oracle Database, Microsoft SQL Server, IBM DB2, y MySQL.(http://es.wikipedia.org/wiki/Toad, 2011)

TOAD DATA MODELER Es una aplicación que no sólo permite diseñar esquemas de base de datos, sino también generar el código SQL necesario para producirlas.Con él puedes desarrollar diagramas para la mayor parte de sistemas gestores de bases de datos existentes: Access, Firebird, InterBase, MySQL, Oracle, Paradox, Postgre, Sybase y muchos más.La aplicación resulta muy útil a la hora de crear diagramas de entidad-relación, definir reglas de integridad referencial, generar scripts SQL que construyan la base de datos o detallados informes en HTML y RTF.

Toad Data Modeler permite:Crear estructuras de Bases de Datos en forma visualGenerar y hacer ingeniería reversa con facilidad Documentar cambios al modelo de su base de datos Generar SQL/DDL a partir de un modelo Migrar fácilmente estructuras de datos de una versión o plataforma de base de datos a otra  Hacer cambios a un modelo creado por otra personaCrear modelos de acuerdo a sus requerimientos de negocios incluyendo lógica en sus diagramas Edición de sus modelos, triggers, imperativos de integridad, llaves foraneas, índices, tablas, atributos etc. directamente en pantalla en forma interactivaAjustar su interfase de usuario a sus requerimientos específicosSeguimiento de cambios con un administrador de versiones interno(http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml, toad datamodeler, 2011)

Page 11: Informe de 4gl

PL/SQL

Es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes características fundamentales:

1. Incluye todos los comandos de SQL.

2. Es una extensión de SQL, ya que este es un lenguaje no completo dado que no incluye las herramientas clásicas de programación. Por eso, PL/SQL amplia sus posibilidades al incorporar las siguientes sentencias:

- Control condicional

- Ciclos

3. Incorpora opciones avanzadas en:

- Control y tratamiento de errores llamado excepciones.

- Manejo de cursores.

(http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml, 2011)

ESTRUCTURA DEL BLOQUE DE CÓDIGO

La organización del bloque de código de PL/SQL, compuesto por cuatro secciones DECLARE, BEGIN, EXCEPTION y END.

MANEJO DE CURSORES

El conjunto de filas resultantes de una consulta con la sentencia SELECT, como vimos anteriormente, puede estar compuesto por ninguna, una o varias filas, dependiendo de la condición que define la consulta. Para poder procesar individualmente cada fila de la consulta debemos definir un cursor (que es un área de trabajo de memoria) que contiene los datos de las filas de la tabla consultada por la sentencia SELECT.

Los pasos para el manejo de cursores, tema novedoso en la programación de Oracle con PL/SQL, son:

Definir el cursor, especificando la lista de parámetros con sus correspondientes tipos de datos y estableciendo la consulta a realizar con la sentencia SELECT.Abrir el cursor para inicializarlo, siendo éste el momento en que se realiza la consulta.Leer una fila del cursor, pasando sus datos a las variables locales definidas a tal efecto.Repetir el proceso fila a fila hasta llegar a la última.Cerrar el cursor una vez que se terminó de procesar su última fila.

Page 12: Informe de 4gl

(http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml, Cursores,

2011)

DISPARADORES (TRIGGERS)

Un Trigger en PLSQL es un tipo especial de procedimiento almacenado asociado con una tabla de la base de datos Oracle y que se "dispara" (is triggered) cada vez que se ejecuta sobre dicha tabla una sentencia INSERT, una sentencia UPDATE o una sentencia DELETE, es decir, es un procedimiento que permite realizar distintas operaciones cuando un registro de una tabla Oracle es actualizado o borrado, o cuando se añade un registro nuevo a dicha tabla.

Hay muchas circunstancias en las que el uso de un trigger PL/SQL puede ser extremadamente útil, por ejemplo:

Cuando los datos de una tabla son generados desde otro tipo de procedimientos y se necesita controlar los valores que toman algunos campos determinados de la tabla en cuestión.

Para duplicar los contenidos de una tabla automáticamente y en tiempo real.

Para implementar complejas restricciones sobre los valores que pueden tomar los campos de una tabla Oracle, es decir, cuando los CONSTRAINTS que se pueden definir sobre una tabla son insuficientes.

Para incrementar automáticamente los valores de un campo.

Para realizar actualizaciones de una tabla en cascada.

Para modificar campos o registros de una tabla que un usuario no puede modificar directamente.

Los triggers PL/SQL constituyen una potente herramienta para mantener la integridad de la base de datos, ya que pueden llevar a cabo cualquier acción que sea necesaria para el mantenimiento de dicha integridad.

Los triggers PLSQL pueden llamar a otros procedimientos y disparar otros triggers, pero no admiten parámetros y no pueden ser invocados desde otros procedimientos PLSQL.

Los triggers están almacenados en la tabla catálogo del sistema como parte de las propiedades de una tabla.(http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml, Triggers, 2011)

Page 13: Informe de 4gl

TIPOS DE TRIGGERS PLSQL

Los triggers PLSQL pueden actuar antes o después de que se realice una inserción, un borrado o una actualización de un registro de la tabla Oracle involucrada.

Se pueden definir triggers PL/SQL diferentes para cada tipo de evento (INSERT, UPDATE, DELETE) pero lo más lógico es crear un único trigger para todos los eventos y usar una sentencia IF para distinguir que acción realizar dependiendo del evento.

Por otro lado los triggers pueden ser a nivel de registro (row) o a nivel de sentencia (statement).

A nivel de registro o fila el trigger PL/SQL se ejecuta cada vez que un registro es actualizado, insertado o borrado.

A nivel de sentencia, el trigger se ejecuta una vez que la sentencia PL/SQL INSERT, UPDATE o INSERT se completa. Obviamente en este caso el trigger sólo puede ser ejecutado después (AFTER) de que se ejecute dicha sentencia.

VENTAJAS DE LOS TRIGGERS PL/SQL

Estandarización: Un solo procedimiento controla las acciones que pueden realizar el resto de procedimientos sobre una tabla Oracle específica.

Eficiencia: Cuando un trigger es analizado por el optimizador Oracle, el plan de ejecución se almacena en la memoria virtual del servidor, con lo cual, si se vuelve a disparar el trigger PLSQL, este se ejecuta instantáneamente ya que existe una copia del plan de ejecución en la memoria.

Seguridad: Aumentan la seguridad porque permiten restringir el acceso de los usuarios a los datos de las tablas, al no poder éstos modificar o acceder a los mismos directamente. Las acciones que realiza un trigger normalmente se limitan en base a los permisos que tiene el usuario que creó la tabla involucrada y no en base a los permisos que tiene el usuario que disparó el trigger.

Sintaxis De Los Triggers En Pl/Sql

CREATE OR REPLACE TRIGGER nombre-del-trigger [FOLLOWS nombre-otro-trigger]

Page 14: Informe de 4gl

[BEFORE/AFTER] [INSERT/DELETE/UPDATE/UPDATE OF lista-columnas] ON nombre-tabla [REFERENCING [OLD AS nombre-antiguo][NEW AS nombre-nuevo]] [FOR EACH ROW/FOR EACH STATEMENT] [WHEN {condiciones}] {Bloque estándar de sentencias PL/SQL... BEGIN, EXCEPTION}

Aclaraciones

La diferencia entre UPDATE y UPDATE OF lista-columnas es que, en el segundo caso, el trigger PL/SQL se ejecuta sólo cuando se modifica alguna de las columnas de la lista y, en el primer caso, el trigger se ejecuta en caso de que cualquiera de las columnas de la tabla sea modificada.

La cláusula FOLLOWS se utiliza para determinar el orden en que se deben ejecutar diferentes triggers del mismo tipo (INSERT, DELETE o UPDATE) que se disparan al mismo tiempo sobre una misma tabla. Así el trigger que está siendo creado se ejecutará después del trigger indicado en la cláusula FOLLOWS (sólo disponible para la versión 11g de la base de datos Oracle).

La cláusula REFERENCING permite referirnos con el nombre que nosotros indiquemos (por defecto los nombres son old y new) al valor antiguo (old) de un registro que ha sido borrado o actualizado o al valor nuevo (new) de un registro que ha sido actualizado o insertado. Yo, sinceramente, no le veo una utilidad evidente a esta cláusula debido a que los valores por defecto son suficientemente explicativos.

La cláusula WHEN determina que el trigger PLSQL se disparé sólo para los registros que cumplen la condición de la cláusula. Esta cláusula sólo se puede usar en triggers a nivel de registro.Ejemplo:

CREATE TRIGGER tr1_empleados BEFORE INSERT OR UPDATE OF salario ON empleados FOR EACH ROW WHEN (:new.salario > 5000); BEGIN UPDATE empleados SET salario = 5000 WHERE empleado_id = :new.empleado_id; END;

Page 15: Informe de 4gl

En este ejemplo, si insertamos o actualizamos el registro de un empleado de manera que su salario sea superior a 5000 euros, el trigger PL/SQL actualizará dicho salario al valor de 5000 euros independientemente del salario que nosotros hayamos insertado o introducido al modificar el registro.

(http://www.plsql.biz/2007/02/triggers-en-plsql.html, 2011)

COMANDOS PARA CREAR TRIGGERSInsert Triggers:

BEFORE INSERT TriggerAFTER INSERT Trigger

Update Triggers:

BEFORE UPDATE TriggerAFTER UPDATE Trigger

Delete Triggers:

BEFORE DELETE TriggerAFTER DELETE Trigger

Drop Triggers:

Drop a Trigger

Disable/Enable Triggers:

Disable a TriggerDisable all Triggers on a tableEnable a TriggerEnable all Triggers on a table

(http://www.techonthenet.com/oracle/triggers/, 2011)

5. DESARROLLO

CREACIÓN DE TABLASClic en New ModelClic en Oracle 10g

Page 16: Informe de 4gl

 Ahora utilizaremos la barra de herramientas diagrama ER para crear las entidades.

AÑADIR ENTIDADES

Doble Clic en la entidad

Page 17: Informe de 4gl

Al añadir las entidades, tendremos la posibilidad de incluir los atributos y definir cuáles van a ser nuestras claves .Una vez definidas las entidades con sus atributos y claves, establecemos las relaciones según el tipo (1:1, 1:N, N:M,1:1:N,..)

Page 18: Informe de 4gl

TABLAS CREADAS EN TOAD DATA MODELER

Page 19: Informe de 4gl

ENTIDADES, RELACIONES Y SECUENCIAS CON SU RESPESTIVO ATRIBUTO

Page 20: Informe de 4gl
Page 21: Informe de 4gl

6. CONCLUSIONES

El Sistema de Gestión de Bases de Datos (SGBD) Consiste en un conjunto de programas, procedimientos y lenguajes que nos proporcionan las herramientas necesarias para trabajar con una base de datos. Incorporar una serie de funciones que nos permita definir los registros, sus campos, sus relaciones, insertar, suprimir, modificar y consultar los datos.

7. BIBLIOGRAFÍA

http://es.wikipedia.org/wiki/Toad. (2011). que es toad. Machala.

http://www.desarrolloweb.com/articulos/840.php. (2011). que es oracle. machala.

http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml. (2011). Cursores. Machal.

http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml. (2011). PL/SQL. Machala.

http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml. (2011). toad data modeler. Machala.

http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml. (2011). Triggers. Machala.

http://www.plsql.biz/2007/02/triggers-en-plsql.html. (2011). aclaraciones. Machala.

http://www.techonthenet.com/oracle/triggers/. (2011). antes. machala.

http://www.techonthenet.com/oracle/triggers/. (2011). comandos de los trigger. Machala.

http://www.techonthenet.com/oracle/triggers/. (2011). Desabilitar Desencadenadores. Machal.

http://www.techonthenet.com/oracle/triggers/. (2011). deshabilitar todos los disparadores. Machala.

http://www.techonthenet.com/oracle/triggers/. (2011). despues. machala.

http://www.techonthenet.com/oracle/triggers/. (2011). habilitar todos los disparadores. Machala.

http://www.techonthenet.com/oracle/triggers/. (2011). Habilitar un disparo. Machala.

http://www.techonthenet.com/oracle/triggers/. (2011). Quitar. Machala.

http://www.techonthenet.com/oracle/triggers/. (2011). update. Machal.

Segovia, D. V. (2011). oracle. machala.

Page 22: Informe de 4gl

8. ANEXOS

Oracle / PLSQL: Antes Desencadenador De InserciónUn desencadenador de inserción antes significa que Oracle se dispara este gatillo antes de la operación INSERT se ejecuta.

La sintaxis de un desencadenador de inserción antes de que sea:

Crear o sustituir GATILLO trigger_nameBEFORE INSERT     ON nombre_tabla    [FOR EACH ROW] DECLARE     - las declaraciones de variables COMENZAR     - activar el código EXCEPCIÓN     CUANDO ...     - manejo de excepciones END;trigger_name es el nombre del disparador para crear.Restricciones:

No se puede crear un disparador BEFORE en una vista. Puede actualizar el: nuevos valores. No se puede actualizar la: los viejos valores.

Por ejemplo:Si tuvieras una tabla creada de la siguiente manera:Crear órdenes MESA( order_id número (5),cantidad número (4),cost_per_item número (6,2),costo_total número (8,2),create_date la fecha,created_by varchar2 (10)

);

A continuación, puede crear un disparador BEFORE INSERT de la siguiente manera:CREAR O CAMBIAR DE GATILLO orders_before_insert BEFORE INSERT     ON órdenes     FOR EACH ROWDECLARE     v_username varchar2 (10);

Page 23: Informe de 4gl

COMENZAR    - Buscar nombre de usuario de INSERT persona que realiza en la tabla de     usuario SELECT INTO v_username     de la doble;    - Actualizar el campo create_date hasta la fecha actual del sistema     : new.create_date: = SYSDATE;    - Actualizar el campo created_by al nombre de usuario de la persona que realiza el INSERT     : new.created_by: v_username =;END;(http://www.techonthenet.com/oracle/triggers/, antes, 2011)

Oracle / PLSQL: Desencadenador De Inserción DespuésUn disparador AFTER INSERT significa que Oracle se disparará este disparador después de la operación INSERT se ejecuta.

La sintaxis de un desencadenador de inserción DESPUÉS es la siguiente:

Crear o sustituir GATILLO trigger_nameAFTER INSERT     ON nombre_tabla    [FOR EACH ROW] DECLARE     - las declaraciones de variables COMENZAR     - activar el código EXCEPCIÓN     CUANDO ...     - manejo de excepciones END;

Por ejemplo:Si tuvieras una tabla creada de la siguiente manera:Crear órdenes MESA( order_id número (5),cantidad número (4),cost_per_item número (6,2),costo_total número (8,2)

);A continuación, puede crear un disparador AFTER INSERT de la siguiente manera:CREAR O CAMBIAR DE GATILLO orders_after_insert AFTER INSERT     ON órdenes     FOR EACH ROW

Page 24: Informe de 4gl

DECLARE     v_username varchar2 (10);EMPEZAR     - Buscar nombre de usuario de persona que realiza el INSERT en la tabla     de usuario SELECT INTO v_username     de la doble;- Insertar registros de auditoría en la tabla     INSERT INTO orders_audit      (order_id,        cantidad,        cost_per_item,        costo_total,        nombre de usuario)     VALORES      (: new.order_id,        : new.quantity,  new.cost_per_item,        : new.total_cost,        v_username);END;(http://www.techonthenet.com/oracle/triggers/, despues, 2011)

Oracle / PLSQL: Desencadenador After UpdateUn disparador AFTER UPDATE significa que Oracle se disparará este disparador después de la operación de actualización se ejecuta.La sintaxis de un desencadenador AFTER UPDATE:

Crear o sustituir GATILLO trigger_nameAFTER UPDATE     ON table_name    [FOR EACH ROW] DECLARE     - las declaraciones de variables COMENZAR     - activar el código EXCEPCIÓN     CUANDO ...     - manejo de excepciones END;trigger_name es el nombre del disparador para crear.

Por ejemplo:Si tuvieras una tabla creada de la siguiente manera:

Crear órdenes MESA( order_id número (5),

Page 25: Informe de 4gl

cantidad número (4),cost_per_item número (6,2),costo_total número (8,2)

);

A continuación, puede crear un desencadenador AFTER UPDATE de la siguiente manera:

CREAR O CAMBIAR orders_after_update DISPARADOR AFTER UPDATE     ON órdenes     FOR EACH ROWDECLARE     v_username varchar2 (10);COMENZAR    - Buscar nombre de usuario ACTUALIZACIÓN persona que realiza en la tabla de     usuario SELECT INTO v_username     de la doble;    - Insertar registros de auditoría en la tabla     INSERT INTO orders_audit      (order_id,        quantity_before,        quantity_after,        nombre de usuario)     VALORES      (: new.order_id,        : old.quantity,        : new.quantity,        v_username);END;

(http://www.techonthenet.com/oracle/triggers/, update, 2011)

Oracle / PLSQL: Quitar Un Desencadenador

La sintaxis de una caída es un disparador:

DROP TRIGGER trigger_name ;

Por ejemplo:

Si usted tuvo un desencadenante denominado orders_before_insert, podría caer con el siguiente comando:

DROP TRIGGER orders_before_insert;(http://www.techonthenet.com/oracle/triggers/, Quitar, 2011)

Page 26: Informe de 4gl

Oracle / PLSQL: Deshabilitar Un Desencadenador

La sintaxis de una desactivación de un disparo es la siguiente:

ALTER TRIGGER trigger_name DESACTIVAR;

Por ejemplo:Si usted tuvo un desencadenante denominado orders_before_insert, puede desactivarlo con el siguiente comando:ALTER TRIGGER orders_before_insert DESACTIVAR;(http://www.techonthenet.com/oracle/triggers/, Desabilitar Desencadenadores, 2011)

Oracle / PLSQL: Deshabilitar Todos Los Disparadores En Una Mesa

La sintaxis de una deshabilitar todos los disparadores de una tabla es:

ALTER TABLE table_name DESACTIVAR todos los factores desencadenantes;

Por ejemplo:Si tuvieras una tabla llamada órdenes y quiere desactivar todos los factores desencadenantes de esta tabla, puede ejecutar el siguiente comando:

ALTER tabla de pedidos DESACTIVAR todos los factores desencadenantes;

(http://www.techonthenet.com/oracle/triggers/, deshabilitar todos los disparadores, 2011)

Oracle / PLSQL: Habilitar un disparo

La sintaxis de una habilitación de un desencadenador es la siguiente:ALTER TRIGGER trigger_name habilitar;

Por ejemplo:

Si usted tuvo un desencadenante denominado orders_before_insert, podría permitir que con el siguiente comando:(http://www.techonthenet.com/oracle/triggers/, Habilitar un disparo, 2011)

ALTER TRIGGER orders_before_insert habilitar;

Oracle / PLSQL: Habilitar Todos Los Disparadores En Una Mesa

La sintaxis para una permitir que todos los disparadores de una tabla es:ALTER TABLE table_name HABILITAR todos los factores desencadenantes;

Page 27: Informe de 4gl

Por ejemplo:Si tuvieras una tabla llamada órdenes y que quería que todos los factores desencadenantes de esta tabla, puede ejecutar el siguiente comando:

ALTER tabla de pedidos HABILITAR todos los factores desencadenantes.

(http://www.techonthenet.com/oracle/triggers/, habilitar todos los disparadores, 2011)

Page 28: Informe de 4gl

Recommended