求触发器: 如何获取当前更新的那条记录 的信息
本人用VC做一个数据库方面的应用,
程序修改某个表中的某一条记录中的一个字段,
同时,触发器运行,功能是更新此条记录中的时间字段,
即记录下更新某字段的当前时间,
请问高手触发器如何写,
不知怎么样获取当前修改了哪条记录
................................????
QQ: 278182840
在线等待..............................
问题点数:20、回复次数:4Top
1 楼xeqtr1982(Visual C# .NET)回复于 2006-06-04 15:32:02 得分 0
create table t(id int,[date] datetime,a varchar(10))
insert into t select 1,'2005-01-01','aa'
go
create trigger cfq on t
for update
as
if @@rowcount=0 return
update a set a.[date]=getdate() from t a,inserted b where a.id=b.id
go
update t set a='bb' where id=1
go
select * from t
drop trigger cfq
drop table a
--这样?Top
2 楼ddm_1982(一生有你)回复于 2006-06-04 16:36:20 得分 0
CREATE TRIGGER [test] ON TABLENAME
FOR UPDATE
AS
if (update(UPDATEFIELD))
begin
declare @id int
select @id = id from inserted
update TABLENAME set UPDATEDATE=getdate() where id=@id
end
deleted 和 inserted 是逻辑(概念)表。这些表在结构上类似于定义触发器的表(也就是在其中尝试用户操作的表);这些表用于保存用户操作可能更改的行的旧值或新值。
Top
3 楼Tian987()回复于 2006-06-04 16:37:34 得分 20
inserted表里边复制了当前insert或update的内容
可以在触发器里使用Top
4 楼sailing0123(梦想成真)回复于 2006-06-04 16:54:25 得分 0
给错了分,
还是都谢谢大家对我的帮助!Top




