TSQL列约束

时间:2011-07-27 22:45:19

标签: tsql

所以,我有一个有三列的表,我希望能够说,如果第1列中有“A”,那么第2列必须是“B”而第3列必须是“C”< / p>

所以表就像......

“A”“B”“C”

“D”“E”“F”

“G”“H”“我”

第一列应确定其他两个

的值

我只是谷歌这个,但我不确定它究竟叫什么。

我真的希望这是有道理的。

我正在使用Microsoft SQL Management Studio

修改

显然我的问题很混乱,所以我会尝试解释更多: 假设我们有一张动物及其吃的东西。

我们有长颈鹿,鱼和狮子

长颈鹿吃叶子

一条鱼吃水

狮子吃肉

(忽略其中任何一个的不准确性。)

当我在桌子上填写新的长颈鹿时,我想保证只有叶子可以放入另一列。动物应该只能吃它所分配的食物。我该如何确保?

1 个答案:

答案 0 :(得分:4)

您不需要约束:恰当的设计。有很多食物和动物的排列代码:对于一种新的食物动物,你需要改变你的约束。如果动物吃不止一种食物怎么办?

我要添加一个

  • 食物表
  • 食物和动物之间的链接(许多)表

链接表载有每只动物可以吃的东西。食物信息不是动物表的一部分。