oracle 中 merge into 在动态sql 中怎么用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 中 merge into 在动态sql 中怎么用相关的知识,希望对你有一定的参考价值。
a varchar2(1000);
type ty_pe is table of person3%rowtype index by binary_integer;
b ty_pe;
c person3.person3_id%type;
d person3.person3_name%type;
begin
a :=' MERGE into person3 using (select * from person) a
on (person3.person3_id = a.person_id)
when matched then
update set person3.person3_name = a.person_name
when not matched then
insert values (a.person_id,a.person_name)
returning person3.person3_id,person3.person3_name into :c,:d';
execute immediate a bulk collect into b returning c,d;
dbms_output.put_line(c || d);
end;
using (select a,b,c from table2)a
on (t.a=a.a and t.b=a.b)
when matched then
update set t.c=a.c
纯手打 ,望采纳追问
我说的是在动态sql里面的用法,用字符串存储,然后用execute immediate 唤醒,返回主表的两个列
参考技术B 开发性烧俟来历搜诹oracle merge into 表里面的一部分数据怎样做?
我只想merge本月的数据,其他月份不管,怎么做?
USB里面设置好你想要的效果就行啦 参考技术A mergeinto
时,如果b表(辅助表)中有重复记录,在matched条件下,
update时就会出错。因为数据库不知道用哪一条匹配的结果。
以上是关于oracle 中 merge into 在动态sql 中怎么用的主要内容,如果未能解决你的问题,请参考以下文章