Triggers en SQL

EJEMPLO DE TRIGGERS PARA SQL.

Problema: se pide crear
una base llamada "base23" y
crear las tablas "AA,BB,CC".

Relaciones:
(AA "uno a muchos" BB)
(BB "muchos a muchos" CC) / aqui se necesita una relacion R1 llamada "Order datails"

considerar:

AA = Supliers
BB_CC
BB = Products
R1 = Order Details
CC = Orders



_____________________________________________________________________________________________
codigo para crear la base:
_____________________________________________________________________________________________

create database base23

create table AA(
cod_aa varchar (5) not null,
nom_aa varchar (10) null,
dir_aa varchar (20) null,
primary key (cod_aa));

create table BB(
cod_aa varchar(5)not null,
cod_bb varchar(5) not null,
nom_bb varchar(10)null,
dir_bb varchar(20)null,
primary key (cod_bb),
foreign key (cod_aa)
references AA(cod_aa));

create table CC(
cod_cc varchar (5) not null,
nom_cc varchar (10) null,
dir_cc varchar (20) null,
primary key (cod_cc));


'Relacion R1 (BB_CC)

create table R1(
cod_bb varchar(5) not null,
cod_cc varchar(5) not null,
precio varchar(20) null,
cantidad varchar(20)null,
foreign key(cod_bb) references BB(cod_bb),
foreign Key(cod_cc) references CC(cod_cc),
);


______________________________________________________________________________________

Ahora el Còdigo para generar el TRIGGER:
______________________________________________________________________________________

create TRIGGER UNO on BB
for DELETE
as
declare @dato int
set @dato = (select count(*)
from AA a Inner join deleted D
on a.cod_aa = d.cod_aa
inner join R1_detalle od
on d.cod_bb = od.cod_cc
inner join cc c
on c.cod_cc = od.cod_cc)


if @dato > 0
begin
rollback transaction
end

Comentarios

Entradas populares