oracle使用连接语法更新

时间:2012-10-02 04:30:16

标签: oracle oracle8i

我是oracle 8i PL / SQL的新手,请帮我PL / SQL简单更新,我熟悉T-SQL,但在PL / SQL中混淆。

Update a
SET a.column = null
FROM table1 a INNER JOIN table2 b ON a.fields1=b.fields1
WHERE a.fields3=[criteria]

任何帮助都会受到赞赏,

RGDS 阿凡

2 个答案:

答案 0 :(得分:3)

Oracle不支持使用join语法进行更新。 但你可以这样做:

update table1 a set field1 = null 
where field3 = [criteria] and 
    exists (select 1 from table2 where field1 = a.field1)

答案 1 :(得分:0)

我知道问题已经过时了,但这可能有用:

merge into table1 t
enter code hereusing (select a.IdColumnt from table1 a INNER JOIN table2 b ON a.fields1=b.fields1 WHERE a.fields3=[criteria]) u
on t.IdColumnt = u.IdColumnt
when matched then update set t.column = null;

commit;