通过DBlink进行Merge into操作,语句如下:
merge into AAA@test1 T1
using (select 0 as stu_name,
1 as stu_no,
2 as stu_group from dual ) T2
on T1.stu_no=T2.stu_no
when matched then
update
set T1.stu_name='Mary',
T1.date=sysdate----这里
执行报错:“ORA-01008: not all variables bound”
猜测因为进行跨库更新,sysdate变量无法传递,故需要把变量变成常量。
修改语句:
merge into AAA@test1 T1
using (select 0 as stu_name,
1 as stu_no,
2 as stu_group from dual,
sysdate as sys_date) T2----这里
on T1.stu_no=T2.stu_no
when matched then
update
set T1.stu_name='Mary',
T1.date=T2.sys_date----这里
执行正常