T-SQL 2005更新触发器 [英] T-SQL 2005 Update Triggers

查看:156
本文介绍了T-SQL 2005更新触发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有MS SQL Server 2005数据库的第三方软件包.其中一个表(ADDRESS)的MODIFYDATE列是一个DateTime,每次更改记录时都应更新该日期,但是由于软件中的错误,它不会被更新.

我的解决方案是在表上创建UPDATE TRIGGER,将当前日期和时间添加到该字段中.

I have a 3rd party software package with a MS SQL Server 2005 database. One of the tables (ADDRESS) has a column MODIFYDATE which is a DateTime that should be updated each time the record is changed, but due to a bug in the software, it is not being updated.

My solution is create an UPDATE TRIGGER on the table, that buts the current Date and Time into the field.

CREATE TRIGGER trgUpdateModifyDate
   ON  sysdba.[ADDRESS]
   FOR UPDATE
AS
BEGIN
    SET NOCOUNT ON;
    UPDATE [ADDRESS] SET MODIFYDATE = GETDATE() WHERE ?????
END
GO



我的问题是,如何确定哪些行已更改?

谢谢



My question is, how do I identify which row(s) have been changed?

Thanks

推荐答案

旧值存储在deleted中,新值存储在inserted中.
参考: http://msdn.microsoft.com/en-us/library /aa258254(v=sql.80).aspx [ ^ ]

在SQL Server中创建修改后的列 [
Old values are stored in deleted, and new values are stored in inserted.
Ref:http://msdn.microsoft.com/en-us/library/aa258254(v=sql.80).aspx[^]

Create a Modified On Column in SQL Server[^]


这篇关于T-SQL 2005更新触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆