现在有两个表,一个是职员信息表(zyinfo),有字段名:zyname,zyno,zyage,zysex,zyadd
另一个表是职员业绩表(zyyj),有字段名:zybh,zyno,zy,zybt
我在职员信息表里 创建一个触发器,目的要求当我删除‘职员信息表’的一条记录,与之对应的‘职员业绩表’里的一条记录也随之删除。两表的公共字段是zyno。
alter trigger strger
on zyinfo
for delete
as
delete from zyinfo
select * from zyinfo
where zyno not in(select zyno from zyyj where zyno=zyinfo.zyno
)
go
我试了用这段代码,可当我删除职员信息表里的一条记录时,在查看表,职员信息表里的数据都没了。 还有一种方法是用变量做的,我也想了解一下,但是我没想出,求高人指点一下小弟,在此谢谢了!
另一个表是职员业绩表(zyyj),有字段名:zybh,zyno,zy,zybt
我在职员信息表里 创建一个触发器,目的要求当我删除‘职员信息表’的一条记录,与之对应的‘职员业绩表’里的一条记录也随之删除。两表的公共字段是zyno。
alter trigger strger
on zyinfo
for delete
as
delete from zyinfo
select * from zyinfo
where zyno not in(select zyno from zyyj where zyno=zyinfo.zyno
)
go
我试了用这段代码,可当我删除职员信息表里的一条记录时,在查看表,职员信息表里的数据都没了。 还有一种方法是用变量做的,我也想了解一下,但是我没想出,求高人指点一下小弟,在此谢谢了!
CREATE TRIGER TRIGGER_NAME ON ZYINFO
FOR DELETE
AS
DELETE ZYYJ
FROM ZYYJ AS Z JOIN DELETED AS D
ON Z.ZYNO=D.ZYNO
alter trigger strger
on zyinfo
for delete
as
delete zyinfo --你把整个表的数据都删除了
--select * from zyinfo
where zyno not in(select zyno from zyyj)
go
or
alter trigger strger
on zyinfo
for delete
as
delete zyinfo --你把整个表的数据都删除了
--select * from zyinfo
where zyno in(select zyno from deleted)
go
-->
DELETE ZYYJ