Triggers y store procedure
mysql> create table prueba
-> (campo1 varchar2(10) not null,
-> campo2 numeric);
Query OK, 0 rows affected (0.29 sec)
mysql> create table resultadodisparador-> (fecha date not null,
-> aviso varchar2(100) not null,
-> tabla varchar2 (50) not null);
Query OK, 0 rows affected (0.29 sec)
mysql>CREATE OR REPLACE TRIGGER"INSERCIONNUMEROMAYOR1000" AFTER
->INSERT ON "PRUEBA" FOR EACH ROW WHEN (new.CAMPO2 > 1000)
->BEGIN
->insert into resultadodisparador (fecha, aviso, tabla)
->values
->(Sysdate, 'Registro con CAMPO2 superior a 1000',->'PRUEBA');
->END;
->/
Query OK, 0 rows affected (0.29 sec)
mysql> insert into prueba values ('PRUEBA 1', 10);
Query OK, 0 rows affected (0.29 sec)
mysql> select * from prueba;CAMPO1 CAMPO2
---------- ----------
PRUEBA 1 10
mysql>select * from resultadodisparador;
->ninguna fila seleccionada
mysql> insert into prueba values ('PRUEBA 2', 1500);Query OK, 0 rows affected (0.29 sec)
mysql> select * from resultadodisparador;
FECHA
--------
AVISO
--------------------------------------------------------------
TABLA--------------------------------------------------
19/05/11
Registro con CAMPO2 superior a 1000
PRUEBA
--
mysql>create sequence sec_estudiante start with 2;
->create table estudiante (
->codigo number(2)primary key
->);
Query OK, 0 rows affected (0.29 sec)
mysql>CREATE OR REPLACE TRIGGER t_estudiante_B
->BEFORE INSERT ON estudiante FOR EACH ROW
->BEGIN
->SELECT sec_estudiante.nextval INTO:new.codigo FROM dual;
->END t_estudiante;
Query OK, 0 rows affected (0.29 sec)
mysql>CREATE OR REPLACE TRIGGER Disparador5
->AFTER DELETE ON Departamento
->DECLARE
->Var Zona%ROWTYPE;
->BEGIN->SELECT * INTO Var FROM Zona WHERE Cod_Zona=1;
->END Disparador5;
->/
Query OK, 0 rows affected (0.29 sec)
SQL> DELETE FROM Zona WHERE Cod_Zona = 1;
DELETE FROM Zona WHERE Cod_Zona = 1...
Regístrate para leer el documento completo.