2011-03-03 183 views
0

我正在使用数据库名称xyz,表名称为a,b,c,d。我的问题是如果在表名字段中,表b电子邮件字段,表c电话号码,更改/更新我想使表d字段上传到1.SQL Server 2008,SQL Server 2005

这些表有很多字段,但我只想更改表中的d字段在三个不同的表中给出三个字段的变化。

+0

我不明白你在这里试图问什么...... – 2011-03-03 14:06:26

+0

如果三个表中的任何一个的某些特定字段发生变化,我想在第四个表字段中进行更改。在这些表格中,不是整个表格数据只能更改特定的字段。所以我可以在我的第四张表中更新一个字段。 – dca 2011-03-03 14:16:45

回答

0

如果我理解你的问题是正确的, 我会向表d添加三列,并在其他表的更新触发器中将每列设置为1。然后,在您的选择中,如果表d中所有三列均设置为1,则可以将虚拟列设置为1。

0

您需要在所有三个表abc来检查,如果相关值已更改和更新触发若有更新相应upload场表d

为表例a

CREATE TRIGGER dbo.YourTrigger 
    ON a 
    AFTER UPDATE 
AS 
BEGIN 
    SET NOCOUNT ON; 

IF NOT UPDATE(name) 
    RETURN 

UPDATE d 
set upload = 1 
FROM d 
JOIN inserted i ON i.join_column = d.join_column  
END 
+0

谢谢,我是tigger的新手,可以解释更多点燃。或者有任何其他方式来做到这一点? – dca 2011-03-03 14:13:49

+0

@user - 我已经添加了一个示例。 – 2011-03-03 14:17:45

+0

我可以为此创建一个新程序吗?并从每个表中调用我的过程? – dca 2011-03-03 14:18:36

相关问题