34,590
社区成员
发帖
与我相关
我的任务
分享
create table dict
(id bigint not null primary key,kind nvarchar(32),[name] varchar(32))
create table dictbook
(id bigint not null primary key,kind varchar(32),[values] varchar(100))
insert into dict
select 1,'sex','性别'
union all
select 2,'degree','学历'
insert into dictbook
select 1,'sex','男'
union all
select 2,'sex','女'
union all
select 3,'degree','本科'
union all
select 4,'degree','大专'
create trigger tri_dele
on dict
for delete
as
begin
delete dictbook from dictbook b,deleted d where b.kind = d.kind
end
delete dict where id = 1
select * from dict
select * from dictbook
id kind name
-------------------- -------------------------------- --------------------------------
2 degree 学历
(1 row(s) affected)
id kind values
-------------------- -------------------------------- ----------------------------------------------------------------------------------------------------
3 degree 本科
4 degree 大专
(2 row(s) affected)
createTRIGGER test
ON dict
AFTER delete
AS
BEGIN
declare @temp varchar(10)
select @temp = kind from deleted
delete from dictBook where kind = @temp
END
--主外键级联(kind)删除或用触发器
create trigger trig_delete_dict on dict
for delete as
delete dictBook from deleted where dictBook.kind=deleted.kind