我有两张桌子: 具有复合主键的表1 - PRID,SPRID,STIM和 表2带主键 - MTID
我需要SPRID字段来引用 PRID或MTID。我已经看到了这样的示例:如果要放入SPRID的值在中 PRID和MTID,但是还没有看到任何只需要在中<< / em>的。我已将级联更新和删除设置为ON,并希望完成设计的此行为。
我尝试通过两个表中的触发器在单个字段中创建一个填充了PRID和MTID的中间表,但它似乎只填充MTID条目。当我尝试在表1中输入数据时(在表1的视图中),我收到以下消息:
“此行已成功提交到数据库。但是,在提交后尝试从数据中检索此记录时出现问题....”
当我重新查询时,记录消失了。如果我关闭FK约束,我可以输入符合约束条件的数据,但只要我重新切换约束,数据就会被删除。
我无法更改数据库设计,因为这些表是我试图与我的SQL后端集成的商业软件的一部分,但我愿意接受任何合适解决方案的建议。
PRID和MTID属于nvarchar类型(与SPRID一样),两个表都在相同的模式中,但您不能具有与MTID值相同的PRID值。