【问题标题】:multiple cascade paths, on update cascade多个级联路径,更新级联
【发布时间】:2014-03-10 17:03:36
【问题描述】:

我的 sql server 有问题,当我想要 3 个表并在它们之间建立关系时,将“更新时”属性更改为“级联”。

当我想保存图表时发生了这个问题:

在表“Company”上引入 FOREIGN KEY 约束“FK_Company_Slave”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。 无法创建约束。查看以前的错误。

在这张图片中,我定义了我的数据库、FK 和 ....

谢谢。

【问题讨论】:

    标签: sql path relationship cascade


    【解决方案1】:

    第一:

    一个表中的FOREIGN KEY 指向另一个表中的PRIMARY KEY。如果您不想在其他表上使用PRIMARY KEY 来生成外键,则必须在表上创建唯一索引。

    第二:

    您可以在主表上创建后触发器,以便手动开发更新级联。换句话说,您在没有更新级联的情况下创建公司表和主表之间的外键,然后在主表中更改行后在主表上创建以下触发器以更新公司表。

    create trigger triggername on dbo.[Master]
    After Insert 
    AS Begin
        Update Company
        Set MasterKey = I.MasterKey
        From Inserted I
        Inner join Deleted D on D.Code = I.Code
        Where Company.MasterKey = D.MasterKey
    End
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多