db2数据库中进行delete操作,条件能否涉及多个表???

我已经不是从前的我 2008-12-16 06:14:21
譬如:

delete A from A_table A,B_table B,C_table C,D_table D
where A.ID = B.ID and A.FA =C.FA
and A.YEAR =D.Year and C.ID = B.PERSON_ID


要删除A表中符合条件的记录
...全文
422 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaoning1 2010-03-11
  • 打赏
  • 举报
回复
sd asdsadsadsa
  • 打赏
  • 举报
回复
问题解决 o(∩_∩)o...
无天 2008-12-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 adsaaddss 的回复:]
不要不确定的 我要现成的 近来我一点脑细胞都不愿意动 能偷懒就偷懒
[/Quote]
xiongxiao 2008-12-18
  • 打赏
  • 举报
回复
delete from A_table where 主键 in (select a.主键 from A_table A,B_table B,C_table C,D_table D
where A.ID = B.ID and A.FA =C.FA
and A.YEAR =D.Year and C.ID = B.PERSON_ID )
  • 打赏
  • 举报
回复
不要不确定的 我要现成的 近来我一点脑细胞都不愿意动 能偷懒就偷懒
xiongxiao 2008-12-17
  • 打赏
  • 举报
回复
可以涉及多个表,但一次只能删一个表中的数据
liyan93834183 2008-12-17
  • 打赏
  • 举报
回复
你看下面的方法可以不
DELETE FROM A_TABLE A WHERE A = '' AND B IN (SELECT B FROM B_TABLE WHERE C = '')
A,C分别为表A和表B的条件,B为关联条件
xiongxiao 2008-12-17
  • 打赏
  • 举报
回复
晕倒,方法2楼已经说清楚了呀

INSERT, DELETE, UPDATE 都只能对一个表进行操作,但是在条件中可以涉及到其它表,以用于确定所需要删除的记录
在WHERE后面你想涉及到多少表都可以,呵呵
但FROM后则只能一个表名,同时DELETE后面不能有表名
只能是delete from 表名 where 条件;的形式

如果有其它方式刚俺也还需要学习
  • 打赏
  • 举报
回复
强烈要求楼上再次留言

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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