Oracle更新多欄位的方式通常會以SET (column_name, column_name, ...) = (subquery4) 的形式執行更新。不過需要注意的是,必須確保目標Table的資料列能與Subquery一對一對的對應映。
以例子中Multi-Column 的Update來看,如果將 t1 建立時的rownum改成 12 更新就會失敗;這時候就只好屈就於cursor來解了:
cursor cur_t2 is
select table_name, tablespace_name
from t2;
for cur_rec in cur_t2 loop
update t1
set t1.tablespace_name = t2.tablespace_name
where t1.table_name = cur_rec.table_name;
end loop;
沒有留言:
張貼留言