日期:2014-05-17  浏览次数:20366 次

在存储过程中有必要写transaction吗
有两个表A,B, B表的一个字段外键fid是A的主键id。现在有一个存储过程,接受一个参数,这个参数是A表的id,删除A表中这个id对应的记录以及B表中所有以该id为外键的记录。

这里有必要写存储过程吗?比如B表中有10条以该id为外键的记录,删除第8条的时候出现问题,导致剩余的2个没有删除,而且A表中的这条记录也没有删除。 会有这种情况发生吗?

------解决方案--------------------
有没有必要写成存储过程,没有人给你定义,自己决定,为了保持数据一致性,建议你用事务
------解决方案--------------------
sql可以写,c#同样可以写,不过程序发布后,改动sql 还是方便点