我想基于他的列更新记录,例如我有一个DateEnd
列的表,当我在DateEnd
中得到一个值时,它应该自动修改另一列那一行。
最好在SQL或progrgamação中执行此操作吗?
答案 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)
在这种情况下,触发器或计算列都可以帮到你。