如何合并到包含多个表的视图中。 我的问题是,只有当子表,父表连接时,我才能确定要合并的匹配条件,而且只能用单个表我不能。
我正在获取ORA-38106:在使用INSTEAD OF触发器的连接视图或视图中不支持MERGE
create table t (id number, c varchar2(10));
create table p (p_id number, id number);
merge into (select t.c, p.p_id from t, p where t.id = p.id) t
using (select 1 id from dual) d
ON (t.p_id = d.id)
when matched then update set c = 'iii';
答案 0 :(得分:2)
将逻辑移至using
查询。我认为这符合你的意图:
merge into t t
using (select p_id from p where p_id = 1) d
ON (t.p_id = d.p_id)
when matched then update set c = 'iii';