OracleCommand 执行多条delete 操作?

lwl0606 2008-08-20 09:15:14
ADO.NET VB.NET 2005
我需要删除两个表里面的数据
Dim sql As String = "Delete from SDA.SDA_USER where ACCOUNT='" & UID & "';" & vbCrLf
sql += "Delete from SDA.SDA_USER_ROLE where ACCOUNT='" & UID & "';"

除了两次执行 cmdGetS.ExecuteNonQuery 操作外 ,有没有办法 一次 ExecuteNonQuery 删除两个表的数据
谢谢
...全文
267 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ColaCoding 2009-06-09
  • 打赏
  • 举报
回复
学习了!
oracledbalgtu 2008-08-20
  • 打赏
  • 举报
回复
sda_user和sda_user_role建立外键关联关系,并指定ON DELETE CASCADE 的选项。这样在你删除sda_user的时候指定cascade选项,比如:delete from sda.sda_user where account=xx cascade;就可以连带删除了。


[Quote=引用楼主 lwl0606 的帖子:]
ADO.NET VB.NET 2005
我需要删除两个表里面的数据
Dim sql As String = "Delete from SDA.SDA_USER where ACCOUNT='" & UID & "';" & vbCrLf
sql += "Delete from SDA.SDA_USER_ROLE where ACCOUNT='" & UID & "';"

除了两次执行 cmdGetS.ExecuteNonQuery 操作外 ,有没有办法 一次 ExecuteNonQuery 删除两个表的数据
谢谢
[/Quote]
cosio 2008-08-20
  • 打赏
  • 举报
回复
应该是可以的,你可以把语句做为字符串,用动态的SQL来写!
bobfang 2008-08-20
  • 打赏
  • 举报
回复
Dim sql As String = "begin " & vbCrLf
sql += "Delete from SDA.SDA_USER where ACCOUNT='" & UID & "';" & vbCrLf
sql += "Delete from SDA.SDA_USER_ROLE where ACCOUNT='" & UID & "';" & vbCrLf
sql += "end;"

其中回车换行可以没有。
lwl0606 2008-08-20
  • 打赏
  • 举报
回复
把两个SQL写成字符串后一并执行 会报错
fazzamilan 2008-08-20
  • 打赏
  • 举报
回复
好象用.NET不行哦,可以尝试建立两表关联,或者用存储过程
cosio 2008-08-20
  • 打赏
  • 举报
回复
oracle中可以这样子操作:
delete from 表A;
delete from 表B
表示分别从两个表分别删除,可以一并执行
所以你可以把两个SQL写成字符串后一并执行,然后在commit;

[Quote=引用楼主 lwl0606 的帖子:]
ADO.NET VB.NET 2005
我需要删除两个表里面的数据
Dim sql As String = "Delete from SDA.SDA_USER where ACCOUNT='" & UID & "';" & vbCrLf
sql += "Delete from SDA.SDA_USER_ROLE where ACCOUNT='" & UID & "';"

除了两次执行 cmdGetS.ExecuteNonQuery 操作外 ,有没有办法 一次 ExecuteNonQuery 删除两个表的数据
谢谢
[/Quote]

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧