添加约束以检查另一个表是否存在数据

时间:2015-02-27 12:57:31

标签: sql-server

目前我正在学习SQL,但我一度陷入困境,我已经搜索了很多线程,但似乎我无法找到我尝试的那个实现。

目前在创建表格之后,基本上我们可以添加约束来向其中添加特定规则,但是我似乎无法找到它。

基本上它就像我当前有2张桌子一样。表A(A_1,A_2作为列),表B(B_1)是列。

目前我想添加一个约束,如果TableB.B_1在那里有值,例如CODE001,那么只有它能够在A_1中添加。

我在线阅读很多说它需要添加一个类似于支票的支票(tableB(B_1)= 1),但我不知道下一步要去哪里。

如果有人可以指导我完成这一部分会很棒。谢谢!

1 个答案:

答案 0 :(得分:0)

我可能会误读它,但你所描述的内容听起来更像是外键约束而不是Check约束。我再次阅读了这个问题,因为只有在B.B_1中存在该条目时才能添加A.A_1。作为Alter声明:

ALTER TABLE A
ADD CONSTRAINT A_B_FK FOREIGN KEY (A_2) REFERENCES B(B_1)

检查约束类似,但通常不用于与另一个表中的数据进行比较,就像使用外键一样。现在,您可以围绕包含表查询的函数编写Check约束,例如,如果这确实是您需要的(请参阅TechNet上的示例 - here)。

相关问题