编写触发器遇到一点小问题(在线等待) (100分)

  • 主题发起人 wyxin2001
  • 开始时间
我不知道如何判断删除的记录号是多少
好像有个deleted,应该是存放最近删除的一条记录,可是好几张表,不能确定最近删除的
是不是我要的那张表的记录。如何解决,能否给点提示。
 
select jlh from deleted就是删除的记录号。
好几张表?什么意思?一次删除好几张表?
 
有好几张表,多用户操作,有可能几张表同时做删除操作
这样我就不知道DELETED存放的是不是我这张表删除记录了
 
用IF语句判断呀,看他删除的主关键字是不是和你想删除表中的主关键字的值一样。
 
你可能对deleted表还不太清楚。
多用户操作,每个用户做删除时,每个用户都会有个deleted表,
所以select jlh from deleted就是自己的删除记录号。
 
to wumeng:
其中有两张表的关键字段名相同。:(
to ericimex01:
为了使用简单,多个用户公用一个用户名,不过用户少,同时操作的可能性较小,权且
试试吧。:)


 
在 server 2000中自订函数就行了
 
to hjandy:
我用的是sql7.0。不好意思没有事先说明。
 
你可以在触发器中返回值。就可以得到删除记录号了。
 
你可以在触发器中返回删除记录的表名。
 
to ericimex01:
我编写的删除触发器如下:
CREATE TRIGGER [ys_delete] ON [KJDA_YS]
FOR DELETE
AS
declare @del float
select @del=jlh from deleted
update KJDA_YS set jlh=jlh-1 where jlh>@del
功能可以实现了,不过好像还有点安全问题
触发器不是不是不应该返回结果集的么?
 
to ericimex01:
不好意思,漏掉了一条你的信息
原来你早就已经给我答案了,比我的简洁。
非常感谢!:)
 
多人接受答案了。
 
顶部