【问题标题】:Check Constraint for Deletion from another table检查约束以从另一个表中删除
【发布时间】:2015-10-07 18:52:51
【问题描述】:

问题。

我有 2 张桌子。

一个贷款表,其中包含一个loanID 和一个collat​​eralId。
我还有一个带有 loanID 和 Collat​​eralID 的抵押品表

表格没有标准化,我有很多头疼的问题,但这既不是这里也不是那里。

我想对抵押表设置一个检查约束,因为现在该表允许在贷款表中仍有匹配的抵押 ID/LoanID 匹配时删除记录

所以这个想法是。

如果用户试图从抵押表中删除一条记录,我希望它引用贷款表并在存在 loanID/Collat​​eralId 组合时防止删除

我知道这可以像我完成其他 Check 约束一样完成,但我在从语法中获取所需内容时遇到问题。

没有真正找到任何好的示例来引用检查约束上的另一个表。

如果这需要成为触发器,那也可以,但要寻找最佳流程。

谢谢

【问题讨论】:

    标签: sql database sql-server-2008


    【解决方案1】:

    我认为这就是您正在寻找的 - 用于检查贷款表的抵押品外键:

    ALTER TABLE collateral 
    WITH CHECK ADD  CONSTRAINT [FK_collateral_loan] FOREIGN KEY(loanid, collateralid)
    REFERENCES loan (loanid, collateralid)
    

    【讨论】:

      猜你喜欢
      • 2013-06-27
      • 1970-01-01
      • 2020-09-20
      • 2023-03-22
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多