22,209
社区成员
发帖
与我相关
我的任务
分享
CREATE TRIGGER trig_name
ON singer
FOR DELETE
AS
BEGIN
PRINT 'BEFORE DELETE...'
SELECT * FROM sing
SELECT * FROM singer
SELECT * FROM album
SELECT * FROM dbo.csrel
PRINT 'AFTER DELETE...'
DELETE FROM csrel WHERE cno = (SELECT cno FROM deleted)
DELETE FROM sing WHERE sno = (SELECT a.sno FROM csrel a INNER JOIN deleted b ON a.cno = b.cno)
DELETE FROM album WHERE ano = (SELECT a.ano FROM csrel a INNER JOIN deleted b ON a.cno = b.cno)
END
用触发器可以这样
create trigger my_tri on singer
for delete
as
begin
delete sing from sing a, csrel c,deleted d where a.sno=c.sno and d.cno=c.cno
delete album from album a,csrel c,deleted d where a.ano=d.ano and d.cno=c.cno
end
create trigger 触发器名称
on singer
for delete
as
declare @cno varchar(20)
select @cno=cno from deleted
delete from csrel where cno=@cno
不需要用触发器
多个删除一起就可以了
delete from...
delete from...