我有一个存储过程将一条记录插入到两个表中。
首先我将其插入到tableA中,然后再插入到tableB中。
我有点困惑,因为如果insert into tableA失败,我预计它会出错,并且不会运行下一条语句。但事实似乎并非如此..
如果发生异常,它还会运行下面的语句吗?
BEGIN
INSERT INTO TABLEA (Counter) VALUES (1989); -- duplicate error!
INSERT INTO TABLEB (Counter) VALUES (2010);
END
我得到的错误是:
违反了主键约束'PK_TABLEA‘。无法在对象'dbo.TABLEA‘中插入重复的键。重复的键值为(1989)。该语句已终止。
但是,当我在C#控制台应用程序中调用此存储过程时,确实得到了一个错误。这就是为什么我不明白为什么要提出异常的原因。但是继续下面的语句...
https://stackoverflow.com/questions/50767784
复制相似问题