Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql server将外键更改为contraint_Sql Server_Sql Server 2012_Foreign Keys - Fatal编程技术网

Sql server sql server将外键更改为contraint

Sql server sql server将外键更改为contraint,sql-server,sql-server-2012,foreign-keys,Sql Server,Sql Server 2012,Foreign Keys,目前,我有一个主表,tbl_o,用于生成唯一的键,以及一个键的用途参考 [ObjectKey] [int] IDENTITY(-2147483648,1) NOT NULL, [Record_Created_UTC] [smalldatetime] NOT NULL, [Primary_ObjectClassKey] [tinyint] NOT NULL 目前,我为每个主对象类键(例如,tbl\u o\u Avaya\u Queue)都有一个子表,并将此表用作外键关系或对保存数据的表的约束 e

目前,我有一个主表,
tbl_o
,用于生成唯一的键,以及一个键的用途参考

[ObjectKey] [int] IDENTITY(-2147483648,1) NOT NULL,
[Record_Created_UTC] [smalldatetime] NOT NULL,
[Primary_ObjectClassKey] [tinyint] NOT NULL
目前,我为每个主对象类键(例如,
tbl\u o\u Avaya\u Queue
)都有一个子表,并将此表用作外键关系或对保存数据的表的约束

e、 g.外键为:

[Avaya_PhoneQueue_ObjectKey] [int] NOT NULL,
这要求在主表中创建键时,必须(手动)将该键复制到子表中。
希望这个图表能帮助我将继承的结构形象化。


是否有一种方法可以取出子表并使用主表的子查询定义外键,因此外键或约束被定义为
Select ObjectKey from tbl\o where Primary\u ObjectClassKey=xxx

我相信这对您来说是非常清楚的,但从您发布的内容来看,这没有多大意义。@SeanLange,希望图表和额外的文字能帮助定义问题。为什么不告诉我们你的最终目标是什么?这似乎只是最终结果的一小部分。从技术上讲,首先为什么要将FK信息存储在表中?SQL server允许您存储其他信息。它有一个名为“Description”的objectProperty。我正在尝试摆脱将密钥复制到另一个表的手动过程,以及额外的19个表,这些表为该过程增加了一层复杂性。我认为没有办法完全实现您想要的(用查询定义fk),但是,解决不方便问题的阻力最小的途径可能是tbl_o上的一个简单触发器,它将ObjectKey复制到适当的表中。