Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 自动更新表更新上的日期时间:MS SQL08_Sql Server 2008 - Fatal编程技术网

Sql server 2008 自动更新表更新上的日期时间:MS SQL08

Sql server 2008 自动更新表更新上的日期时间:MS SQL08,sql-server-2008,Sql Server 2008,每当插入或更新新行时,我都要插入当前日期时间。 每当插入一行时,getdate()就会给出日期时间。但它不会在行更新时自行更新。 有没有办法做到这一点 编辑:我不想使用触发器 存储过程可能会对您有所帮助,但临时更新操作会导致数据不一致。这是更新所需的触发器: CREATE TRIGGER Update ON TABLE1 FOR UPDATE AS BEGIN SET NOCOUNT ON UPDATE TABLE1 SET UpdatedOn =

每当插入或更新新行时,我都要插入当前日期时间。 每当插入一行时,getdate()就会给出日期时间。但它不会在行更新时自行更新。 有没有办法做到这一点

编辑:我不想使用触发器


存储过程可能会对您有所帮助,但临时更新操作会导致数据不一致。

这是更新所需的触发器:

CREATE TRIGGER Update ON TABLE1 
FOR UPDATE
 AS  

BEGIN   

SET NOCOUNT ON  

    UPDATE  TABLE1  
   SET   UpdatedOn = GETDATE()   
      FROM    TABLE1 A          
   INNER JOIN Inserted INS ON (A.Id = INS.Id) 

     SET NOCOUNT OFF

  END 

您可能需要考虑而不是<代码> GETDATE()<代码>——它将使用更多可用的精度。是的,触发器几乎是保证这种功能的唯一方式。当然,除非有人删除、禁用或更改触发器。我不想使用触发器。还有其他选项吗?查询不会为我运行,因为“更新”是一个关键字。将其更改为“UpdateTrigger”,所有操作都非常完美。谢谢