Sql server SQL Server 2008、SQL Server 2005

Sql server SQL Server 2008、SQL Server 2005,sql-server,Sql Server,我使用的是数据库名xyz、表名a、b、c、d。我的问题是,如果在表a的姓名字段、表b的电子邮件字段、表c的电话号码、更改/更新中,我希望将表d字段上载到1 这些表有很多字段,但我只想在三个不同表中给定三个字段更改时更改表d字段 在所有三个表a、b和c上都需要一个更新触发器,检查相关值是否已更改,如果已更改,则更新表d中相应的上传字段 表a CREATE TRIGGER dbo.YourTrigger ON a AFTER UPDATE AS BEGIN SET NOC

我使用的是数据库名xyz、表名a、b、c、d。我的问题是,如果在表a的姓名字段、表b的电子邮件字段、表c的电话号码、更改/更新中,我希望将表d字段上载到1


这些表有很多字段,但我只想在三个不同表中给定三个字段更改时更改表d字段

在所有三个表
a
b
c
上都需要一个更新触发器,检查相关值是否已更改,如果已更改,则更新表
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

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

我不明白您想问什么……如果三个表中的任何一个表中的某些特定字段发生更改,我想在第四个表字段中进行更改。不是整个表数据只更改这些表中的特定字段。所以我可以在我的第四个表中更新一个字段。谢谢,我是跳跳虎新手,可以解释更多。或者还有其他方法吗?@user-我添加了一个示例。我可以为此创建一个新过程吗?并从每个表调用我的过程?@user-否。过程无法访问
插入的
删除的
伪表,因此您将使用触发器。对不起,让我解释一下。我想使用跳跳虎,但在我的数据库中,每个表使用不同的任务产生。每个表都有一个过程,所以我应该将此代码放在每个表中,还是创建一个新的过程并调用它。(如果你能帮我的话,我对这整件事还不熟悉。谢谢)