Vous êtes sur la page 1sur 28

UNIVERSIDAD TCNICA DE MACHALA FACULTAD DE INGENIERA CIVIL ESCUELA DE INFORMTICA

ORACLE 11G

TEMA:

AUTOR:

ALEX ORTIZ DAYSI SEGOVIA

2011- 2012

MACHALA- EL ORO- ECUADOR

1. TEMA:

TABLA DE CONTENIDO

1. 2. 3.

TEMA:......................................................................................................................................................... 2 INTRODUCCION ....................................................................................................................................... 5 OBJETIVO ................................................................................................................................................. 6 3.1 OBJETIVO GENERAL ......................................................................................................................................6 3.2 OBJETIVO ESPECIFICO ................................................................................................................................6

4.

MARCO TEORICO .................................................................................................................................... 6 ORACLE ...................................................................................................................................................................6 QU ES ORACLE? ...............................................................................................................................................7 TAREAS DE ADB ....................................................................................................................................................7 ESTRUCTURAS DE ORACLE ..............................................................................................................................7 ESTRUCTURAS INTERNAS A LA BD .................................................................................................................7 Tablas: ............................................................................................................................................................7 Columnas:.......................................................................................................................................................7 Usuarios: .........................................................................................................................................................7 Esquemas: ......................................................................................................................................................8 Procedimientos y Funciones:.......................................................................................................................8 Disparadores, Triggers: ................................................................................................................................8 Sinnimos: ......................................................................................................................................................9 Segmento de Rollback: ................................................................................................................................9 ESTRUCTURAS DE MEMORIA INTERNAS .......................................................................................................9 ESTRUCTURAS EXTERNAS A LA BD ................................................................................................................9 TIPOS DE BASE ......................................................................................................................................................9 RDBMS: .................................................................................................................................................................9 ORDMS: ................................................................................................................................................................9 OODBMS: ...........................................................................................................................................................10 TOAD.......................................................................................................................................................................10 TOAD DATA MODELER.......................................................................................................................................10 PL/SQL ....................................................................................................................................................................11 ESTRUCTURA DEL BLOQUE DE CDIGO .....................................................................................................11 MANEJO DE CURSORES ...................................................................................................................................11 DISPARADORES (TRIGGERS) ..........................................................................................................................12 TIPOS DE TRIGGERS PLSQL ............................................................................................................................13 A nivel de registro ........................................................................................................................................13 A nivel de sentencia ....................................................................................................................................13 VENTAJAS DE LOS TRIGGERS PL/SQL .........................................................................................................13 Estandarizacin: .................................................................................................................................................13 Eficiencia: ............................................................................................................................................................13 Seguridad: ...........................................................................................................................................................13 SINTAXIS DE LOS TRIGGERS EN PL/SQL ................................................................................................................14 ACLARACIONES ........................................................................................................................................................14

COMANDOS PARA CREAR TRIGGERS .........................................................................................................15 Insert Triggers:....................................................................................................................................................15 Update Triggers: .................................................................................................................................................15 Delete Triggers: ..................................................................................................................................................15 Drop Triggers: .....................................................................................................................................................15 Disable/Enable Triggers: ...................................................................................................................................15 5. DESARROLLO ........................................................................................................................................ 16 CREACIN DE TABLAS ......................................................................................................................................16 AADIR ENTIDADES ...........................................................................................................................................17 TABLAS CREADAS EN TOAD DATA MODELER ...........................................................................................18 ENTIDADES, RELACIONES Y SECUENCIAS CON SU RESPESTIVO ATRIBUTO ..................................19 6. 7. 8. CONCLUSIONES .................................................................................................................................... 21 BIBLIOGRAFIA ..................................................................................... ERROR! BOOKMARK NOT DEFINED. ANEXOS................................................................................................................................................... 22 ORACLE / PLSQL: ANTES DESENCADENADOR DE INSERCIN ..............................................................................22 ORACLE / PLSQL: DESENCADENADOR DE INSERCIN DESPUS .........................................................................23 ORACLE / PLSQL: DESENCADENADOR AFTER UPDATE ........................................................................................24 ORACLE / PLSQL: QUITAR UN DESENCADENADOR ...............................................................................................25 ORACLE / PLSQL: DESHABILITAR UN DESENCADENADOR ....................................................................................26 ORACLE / PLSQL: DESHABILITAR TODOS LOS DISPARADORES EN UNA MESA ...................................................26 ORACLE / PLSQL: HABILITAR UN DISPARO .............................................................................................................26 ORACLE / PLSQL: HABILITAR TODOS LOS DISPARADORES EN UNA MESA ..........................................................27

2. INTRODUCCION

3. OBJETIVO

3.1 OBJETIVO GENERAL Desarrollar una base de datos que contenga procedimientos almacenados (trigger en oracle) los cuales permitirn auditarla a la misma, a travs de registros de todos los eventos sucedidos en una tabla de informacin. 3.2 OBJETIVO ESPECIFICO Asegurar el acceso autorizado de usuario. Controlar los accesos autorizados a la tabla de de informacin. Realizar consultas de diferente complejidad sobre la bases de datos mediantes los procedimiento almacenados. Automatizar tareas, de forma que estas se ejecuten antes o despus de que se produzca un determinado evento sobre un objeto Conocer la funcionalidad de esta herramienta en el manejo de informacin de base de datos. Controlar las modificaciones de los valores de los campos de una tabla (auditoras)

4. MARCO TEORICO ORACLE Es un sistema de gestin de base de datos relacional (o RDBMS por el acrnimo en ingls de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos ms completos, destacando su: Soporte de transacciones. Estabilidad. Escalabilidad. Soporte multiplataforma. La base de datos Oracle en Windows ha evolucionado desde un nivel bsico de integracin del sistema operativo hasta utilizar servicios ms avanzados en la plataforma Windows, con inclusin de los sistemas Itanium y AMD64/EM64T. Como siempre, Oracle contina innovando y aprovechando las nuevas tecnologas de Windows. Este proyecto ofrece informacin general sobre las principales caractersticas de la versin ms reciente de Oracle, la versin Oracle Database 11g.

QU ES ORACLE? Oracle es bsicamente una herramienta cliente/servidor para la gestin de Bases de Datos. Una BD Oracle est almacenada fsicamente 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 estn almacenados fsicamente separados. Est divisin lgica se hace gracias a los espacios de tablas, tablespaces. Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5 generacin, bastante potente para tratar y gestionar la base de datos, tambin por norma general se suele utilizar SQL al crear un formulario. (http://www.desarrolloweb.com/articulos/840.php, 2011) TAREAS DE ADB Evaluar el Hardware de un servidor de Base de Datos Instalar el Software de Oracle Planificar la Base de Datos Crear y Abrir Base de Datos Respaldar la Base de Datos Enrolar al Sistema de Usuario Dar Privilegios Recuperarse de un error de Base de Datos Implementarse Monitorear el funcionamiento de Base de Datos

ESTRUCTURAS DE ORACLE Las estructuras de la BD Oracle pueden ser divididas en tres clases: Internas a la BD Internas a las reas de memoria (incluidas la memoria compartida y procesos) Externas a la BD.

ESTRUCTURAS INTERNAS A LA BD Las estructuras internas son: Tablas: Es la unidad lgica bsica de almacenamiento. Contiene filas y columnas (como una matriz) y se identifica por un nombre. Columnas: Las columnas tambin 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 indicacin del nombre y el password de la cuenta (esquema) que se est creando.

Esquemas: Es una coleccin de objetos lgicos, utilizados para organizar de manera ms comprensible la informacin y conocidos como objetos del esquema. Una breve descripcin de los objetos que lo componen es la siguiente ndices: Un ndice es una estructura creada para ayudar a recuperar datos de una manera ms rpida 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 condicin de bsqueda (clusula where de la sentencia), sta se puede acelerar si se dispone de algn ndice sobre las columnas-objetivo. Clusters: Un cluster es un grupo de tablas almacenadas en conjunto fsicamente como una sola tabla que comparten una columna en comn. Si a menudo se necesita recuperar datos de dos o ms tablas basado en un valor de la columna que tienen en comn, entonces es ms eficiente organizarlas como un cluster, ya que la informacin podr ser recuperada en una menor cantidad de operaciones de lectura realizadas sobre el disco Vistas: Una vista implementa una seleccin de varias columnas de una o diferentes tablas. Una vista no almacena datos; slo los presenta en forma dinmica. Se utilizan para simplificar la visin del usuario sobre un conjunto de tablas, haciendo transparente para l la forma de obtencin de los datos Secuencias: El generador de secuencias de Oracle se utiliza para generar nmeros nicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera al programador de obtener nmeros secuenciales que no se repitan con los que pueda generar otro usuario en un instante determinado Procedimientos y Funciones: Una funcin es un grupo de sentencias SQL, escritas generalmente en PL/SQL que implementan una serie de rutinas que devuelven un valor. Son casi idnticas a los procedimientos y slo se diferencian en esa ltima condicin. Disparadores, Triggers: Un trigger es un procedimiento que se ejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos slo pueden ser la insercin, actualizacin o eliminacin de datos de una tabla.

Sinnimos: Los sinnimos 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 lgicas de la base de datos que contienen informacin de las transacciones que se encuentran en curso y que an no han sido confirmadas o deshechas. ESTRUCTURAS DE MEMORIA INTERNAS Oracle 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 tambin Shared Global Area, SGA). El PGA es la zona de memoria de cada proceso Oracle. No est compartida y contiene datos e informacin de control de un nico proceso. El SGA es la zona de memoria en la que la BD Oracle guarda informacin sobre su estado. Esta estructura de memoria est disponible para todos los procesos, por eso se dice que est compartida. ESTRUCTURAS EXTERNAS A LA BD Las estructuras externas estan contenidas por ficheros que utiliza el servidor de BD. Estos ficheros guardan informacin 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.

OODBMS: Sistema Administrador de Base de Datos Orientados a Objetos. TOAD Es una aplicacin informtica de desarrollo SQL y administracin 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 aplicacin que no slo permite disear esquemas de base de datos, sino tambin generar el cdigo 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 ms. La aplicacin resulta muy til a la hora de crear diagramas de entidadrelacin, 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 visual Generar y hacer ingeniera reversa con facilidad Documentar cambios al modelo de su base de datos Generar SQL/DDL a partir de un modelo Migrar fcilmente estructuras de datos de una versin o plataforma de base de datos a otra Hacer cambios a un modelo creado por otra persona Crear modelos de acuerdo a sus requerimientos de negocios incluyendo lgica en sus diagramas Edicin de sus modelos, triggers, imperativos de integridad, llaves foraneas, ndices, tablas, atributos etc. directamente en pantalla en forma interactiva Ajustar su interfase de usuario a sus requerimientos especficos Seguimiento de cambios con un administrador de versiones interno (http://www.monografias.com/trabajos4/basesdatos/basesdatos.sht ml, toad data modeler, 2011)

PL/SQL Es un lenguaje portable, procedural y de transaccin muy potente y de fcil manejo, con las siguientes caractersticas fundamentales: 1. Incluye todos los comandos de SQL. 2. Es una extensin de SQL, ya que este es un lenguaje no completo dado que no incluye las herramientas clsicas de programacin. 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.sht ml, 2011) ESTRUCTURA DEL BLOQUE DE CDIGO La organizacin del bloque de cdigo 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 condicin 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 programacin de Oracle con PL/SQL, son: Definir el cursor, especificando la lista de parmetros 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. (http://www.monografias.com/trabajos4/basesdatos/basesdatos.sht ml, 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 aade 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 cuestin. Para duplicar los contenidos de una tabla automticamente 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 automticamente 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 accin que sea necesaria para el mantenimiento de dicha integridad. Los triggers PLSQL pueden llamar a otros procedimientos y disparar otros triggers, pero no admiten parmetros y no pueden ser invocados desde otros procedimientos PLSQL. Los triggers estn almacenados en la tabla catlogo del sistema como parte de las propiedades de una tabla.

(http://www.monografias.com/trabajos4/basesdatos/basesdatos.shtml, Triggers, 2011) TIPOS DE TRIGGERS PLSQL Los triggers PLSQL pueden actuar antes o despus de que se realice una insercin, un borrado o una actualizacin 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 ms lgico es crear un nico trigger para todos los eventos y usar una sentencia IF para distinguir que accin 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 slo puede ser ejecutado despus (AFTER) de que se ejecute dicha sentencia. VENTAJAS DE LOS TRIGGERS PL/SQL Estandarizacin: Un solo procedimiento controla las acciones que pueden realizar el resto de procedimientos sobre una tabla Oracle especfica. Eficiencia: Cuando un trigger es analizado por el optimizador Oracle, el plan de ejecucin se almacena en la memoria virtual del servidor, con lo cual, si se vuelve a disparar el trigger PLSQL, este se ejecuta instantneamente ya que existe una copia del plan de ejecucin 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] [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 estndar 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 slo 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 clusula 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 despus del trigger indicado en la clusula FOLLOWS (slo disponible para la versin 11g de la base de datos Oracle). La clusula 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 clusula debido a que los valores por defecto son suficientemente explicativos. La clusula WHEN determina que el trigger PLSQL se dispar slo para los registros que cumplen la condicin de la clusula. Esta clusula slo 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; 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 TRIGGERS Insert Triggers: BEFORE INSERT Trigger AFTER INSERT Trigger Update Triggers: BEFORE UPDATE Trigger AFTER UPDATE Trigger Delete Triggers: BEFORE DELETE Trigger AFTER DELETE Trigger Drop Triggers: Drop a Trigger Disable/Enable Triggers: Disable a Trigger Disable all Triggers on a table Enable a Trigger Enable all Triggers on a table (http://www.techonthenet.com/oracle/triggers/, 2011)

5. DESARROLLO CREACIN DE TABLAS Clic en New Model Clic en Oracle 10g

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

Doble Clic en la entidad

AADIR ENTIDADES Al aadir las entidades, tendremos la posibilidad de incluir los atributos y definir cules van a ser nuestras claves .Una vez definidas las entidades con sus atributos y claves, establecemos las relaciones segn el tipo (1:1, 1:N, N:M,1:1:N,..)

TABLAS CREADAS EN TOAD DATA MODELER

ENTIDADES, RELACIONES Y SECUENCIAS CON SU RESPESTIVO ATRIBUTO

6. CONCLUSIONES

El Sistema de Gestin 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. BIBLIOGRAFA
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.

8. ANEXOS Oracle / PLSQL: Antes Desencadenador De Insercin Un desencadenador de insercin antes significa que Oracle se dispara este gatillo antes de la operacin INSERT se ejecuta. La sintaxis de un desencadenador de insercin antes de que sea: Crear o sustituir GATILLO trigger_name BEFORE INSERT ON nombre_tabla [FOR EACH ROW] DECLARE - las declaraciones de variables COMENZAR - activar el cdigo EXCEPCIN 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 nmero (5), cantidad nmero (4), cost_per_item nmero (6,2), costo_total nmero (8,2), create_date la fecha, created_by varchar2 (10) );

A continuacin, puede crear un disparador BEFORE INSERT de la siguiente manera: CREAR O CAMBIAR DE GATILLO orders_before_insert BEFORE INSERT ON rdenes FOR EACH ROW

DECLARE v_username varchar2 (10); 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 Insercin Despus Un disparador AFTER INSERT significa que Oracle se disparar este disparador despus de la operacin INSERT se ejecuta. La sintaxis de un desencadenador de insercin DESPUS es la siguiente: Crear o sustituir GATILLO trigger_name AFTER INSERT ON nombre_tabla [FOR EACH ROW] DECLARE - las declaraciones de variables COMENZAR - activar el cdigo EXCEPCIN CUANDO ... - manejo de excepciones END; Por ejemplo: Si tuvieras una tabla creada de la siguiente manera: Crear rdenes MESA ( order_id nmero (5), cantidad nmero (4), cost_per_item nmero (6,2), costo_total nmero (8,2) ); A continuacin, 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 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 auditora 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 Update Un disparador AFTER UPDATE significa que Oracle se disparar este disparador despus de la operacin de actualizacin se ejecuta. La sintaxis de un desencadenador AFTER UPDATE: Crear o sustituir GATILLO trigger_name AFTER UPDATE ON table_name [FOR EACH ROW] DECLARE - las declaraciones de variables COMENZAR - activar el cdigo EXCEPCIN 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 nmero (5), cantidad nmero (4), cost_per_item nmero (6,2), costo_total nmero (8,2) ); A continuacin, puede crear un desencadenador AFTER UPDATE de la siguiente manera: CREAR O CAMBIAR orders_after_update DISPARADOR AFTER UPDATE ON rdenes FOR EACH ROW DECLARE v_username varchar2 (10); COMENZAR - Buscar nombre de usuario ACTUALIZACIN persona que realiza en la tabla de usuario SELECT INTO v_username de la doble; - Insertar registros de auditora 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 cada es un disparador: DROP TRIGGER trigger_name ; Por ejemplo: Si usted tuvo un desencadenante denominado orders_before_insert, podra caer con el siguiente comando:

DROP TRIGGER orders_before_insert; (http://www.techonthenet.com/oracle/triggers/, Quitar, 2011) Oracle / PLSQL: Deshabilitar Un Desencadenador La sintaxis de una desactivacin 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 desencadenantes; todos los factores

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 desencadenantes; pedidos DESACTIVAR todos los factores

(http://www.techonthenet.com/oracle/triggers/, deshabilitar todos los disparadores, 2011) Oracle / PLSQL: Habilitar un disparo La sintaxis de una habilitacin de un desencadenador es la siguiente: ALTER TRIGGER trigger_name habilitar; Por ejemplo: Si usted tuvo un desencadenante denominado orders_before_insert, podra 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; Por ejemplo: Si tuvieras una tabla llamada rdenes y que quera 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)

Vous aimerez peut-être aussi