日期:2014-05-18  浏览次数:20781 次

请教 sql server中delete语句的问题。
现在有两个表,要删除第一个表的一条数据,而第二个表里面可能有与第一个表要删除数据的主键相关的多条数据。所以也要将第二个表里面的相关数据删除,现在有如下疑问:
1   应该先删除那个表里的数据?
2   如果第二个表里没有相关的数据,用delete删除该表数据时是失败还是成功?

------解决方案--------------------
你把两个表关联起来不就行了吗?不用你费神了
我觉得应该是先删第二个表的吧,然后再删第一个表,如果没有就直接删第一个表的数据呗,除非第一个表也没有要删的数据,否则应该是成功.
还有,好像delete 不是硬性的删除,只是给数据设置了标志位,不知道说得对不对

------解决方案--------------------
如果两个表有外键关联的话,必须先删除从表,也就是第二个表的数据。如果没有那随便。
没有数据删除不会出现异常,只是excuteUpdate返回0
如果用了ORm,那么可以在关联关系里面设置cascade属性即可在删除主表数据时删除从表数据而不需要写代码
------解决方案--------------------
先删从表``
如没数据``
加个判断``没有数据删除不会出现异常,只是excuteUpdate返回0