有人可以帮助我吗?我想对数据库设置约束,例如:
Triangle
(三角形ID,名称,边号)Square
(Square_Id,名称,边号)Area
(Area_Id,ObjectId,Area_value)Circle
(Circle_Id,名称,半径)如何从实体Triangle
和Square
到Area
中添加约束,使我无法在ObjectId
列中写入除三角形或正方形之外的任何其他类型的对象?
我试图写FK约束,但是出错了。
答案 0 :(得分:0)
同一列上不能有两个不同的外键约束,但是这里有一些选项可供回答:Foreign Key to multiple tables。
答案 1 :(得分:0)
在两个表之间定义了外键。它不能在表和视图之间建立,这将直接解决您的任务。
如果要创建一个标量函数来检查两个表中的记录并返回1(如果找到)和0(如果没有),则可以做什么。然后施加一个约束,使该函数应为1。