Nic*_*ico 1 t-sql sql-server-2008
是否有可能参考视野以确保完整性?
伪代码示例:
CREATE VIEW V_ONE AS SELECT .....
CREATE TABLE TWO ( ID INT REFERENCES V_ONE ( field ))
Run Code Online (Sandbox Code Playgroud)
我不想要CREATE TABLE T_ONE的,而不是V_ONE首先要能够引用T_ONE.
@编辑:
View V_ONE从erp系统的多个表中收集数据并对其进行预处理.表TWO扩展V_ONE了一些其他数据,不应包括在内V_ONE.表TWO中的每个条目都不能有条目V_ONE,但我想确保表TWO中没有可以找到基本数据的条目V_ONE.
简答:不.Sql Server不允许在视图上使用外键.
您可以将外键约束放在视图中引用的"其中一个表"上,但没有上下文......很难给出方便的答案.
编辑:那么,对于两个检查约束怎么样,对v_one进行查询?
但是你必须找到一种方法来管理v_one的"源表"上的删除(和更新).
您可以在视图(V_ONE)上使用(未经测试)INSTEAD OF DELETE(以及INSTEAD OF UPDATE,如果需要)触发器,并使用表格上的检查约束(TWO).
| 归档时间: |
|
| 查看次数: |
4405 次 |
| 最近记录: |