可能我今天花了太长时间看这个,所以这是愚蠢的。 但........
我有一个简单的存储过程来执行此操作;
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DELETE FROM ProductLoading
END
表ProductLoading
由3个字段组成,其中不包含关键字段。它是一个临时表,当从单独的数据馈送加载数据时,需要在其中暂时包含数据。我这样做是为了检查要删除的产品。
现在运行此代码时,还会删除其他表格中的所有内容,Products3
。
如果我对这一行发表评论,那就没有了。
不是键和索引的专家,但有基本的把握。
但看了两个表,看不到任何依赖。
另外,当我运行执行计划时,它不会引用Products3
表。
真的坚持这个。 任何人都会教我如何俯视。
答案 0 :(得分:1)
听起来像Cascading Referential Integrity Constraints。您确定ProductLoading
中的3个字段中的一个不是密钥吗?
答案 1 :(得分:1)
不确定发生了什么故障。
但令人费解之后,基本上在存储过程中添加了一个虚拟插入语句并重新编译它。
奇怪的是,删除语句没有过滤到Products3表。
然后我删除了这个虚拟插入语句,更奇怪的是存储过程继续工作。
现在唯一不同的是回归时,表是用错误的模式创建的。我立即意识到这一点,并在正确的架构下重新创建表并删除了错误创建的表。此时没有数据存在,因此不确定在此期间是否有任何损坏。看不出怎么样,但是嘿,1和0有时候不能加起来。
所以没有解决方案,只有li
之一答案 2 :(得分:0)
ProductLoading loading必须包含一个主键,该主键是另一个启用了级联删除的表的外键。
答案 3 :(得分:0)
理论上,您的表ProductLoading可以触发删除吗?