SQL Server中的自动更新记录

时间:2015-05-05 16:48:31

标签: sql asp.net sql-server

我想基于他的列更新记录,例如我有一个DateEnd列的表,当我在DateEnd中得到一个值时,它应该自动修改另一列那一行。

最好在SQL或progrgamação中执行此操作吗?

3 个答案:

答案 0 :(得分:1)

使用触发器

ALTER TRIGGER trgAfterUpdate ON [dbo].[Employee]
FOR UPDATE, INSERT, DELETE
AS
    SELECT 'DO SOMETHING AT THIS STATEMENT',* FROM INSERTED
GO

https://msdn.microsoft.com/en-us/library/ms189799.aspx?f=255&MSPPError=-2147217396

答案 1 :(得分:0)

在Microsoft SQL Management Studio中,如果您转到表的设计和“默认值”属性的属性并将其设置为GetDate(),则将列值设置为任何列的日期改变了......

您可以通过TSQL Too:

来完成
CREATE TABLE dbo.doc_exz ( column_a INT, column_b INT) ;
GO
INSERT INTO dbo.doc_exz (column_a)VALUES ( 7 ) ;
GO
ALTER TABLE dbo.doc_exz
ADD CONSTRAINT col_b_def
DEFAULT GetDate() FOR column_b ;
GO

有一点需要注意的是,这只适用于插入新行,对于更新,您可以使用触发器来执行您要查找的内容。

答案 2 :(得分:0)

在这种情况下,触发器或计算列都可以帮到你。