SQL - TRIGGERS, Breve notação

Trigger: é chamada quando uma tabela é excitada por um dos comandos: INSERT, DELETE ou UPDATE.
 Trigger = gatilho, disparador;====================== create database locadora;use locadora;

create table filmes(
 cod_fil int not null auto_increment,
 titulo varchar(255),
 constraint pk_filmes
  primary key(cod_fil)
) engine=innodb;

create table clientes(
 cod_cli int not null auto_increment,
 nome varchar(255),
 constraint pk_clientes
  primary key(cod_cli)
) engine=innodb;
create table filmes_clientes(
  cod_fil int not null,
 cod_cli int not null,
 constraint fk_filmes
   foreign key(cod_fil)
      references filmes(cod_fil),
  constraint fk_clientes
    foreign key(cod_cli)
      references clientes(cod_cli)
) engine=innodb;create table tblog(
 cod int not null auto_increment,
 filme int not null,
 cliente int not null,
 retirada date not null,
 devolucao date,
 primary key(cod)
) engine=myisam;delimiter |
CREATE TRIGGER tralugar
  before insert ON filmes_clientes
  FOR EACH ROW BEGIN
   insert into tblog(filme,cliente,retirada)
  values(new.cod_fil,new.cod_cli,now());  END;
  |
  delimiter ;
 delimiter |
 CREATE TRIGGER trdevolver
   after delete ON filmes_clientes
   FOR EACH ROW BEGIN
     update tblog set devolucao=now()
       where filme=old.cod_fil
       and  cliente=old.cod_cli;
   END;
  |
 delimiter ;/// DADOS DE TESTES: insert into filmes values(1,"matrix"),(2,"MIB");
insert into clientes values(1,"joao"),(2,"Pedro");
 
HaroldoonQuarta 03 Setembro 2008 - 15:18:52
Comentário(s):0 | TrackBacks:1

Categorias de Notícias