是这样的,我有表A,现在有个select 出来的集合B,还有表C,(因为insert目标表是2个,所以不能用merge into ps:或者哪个大牛有好办法。。求教。)我需要用表A的数据跟集合B数据, 根据字段a,b做判断(where A.a=B.a and A.b=B.b),如果表A有这条记录就insert 到表C,如果没有这个记录,就Insert到表A, 求教各位大牛 Insert all怎么写。。刚接触oracle 2天。希望大家能教教我。
写一段plsql,写在存储过程里面就OK了。
我用的insert ALl 解决了,谢谢大家,每人25分
分成两部分,
1、A中有的,插入到C
2、A中没有的,插入到A
写这样两个SQL语句还是很简单啦
我用的SQL Sever不知道Oracle有没有左连接这个功能,有的话就左连接两张表,然后用字段判断哪个为NULL哪个就插入C或A
敢不敢分成两句插入?你的逻辑也说得很明白。
第一句把匹配上的数据插入C表。第二句把匹配不上的数据插入A表。
至于方式:
1、可以直接用db存储过程,不是很推荐(这种简单逻辑,存储过程有点大材小用,而且存储过程本身不好调试与维护)。
2、直接在客户端发起两条语句,如果要保证一起成功或者失败,请在事务中操作(推荐)。