RETURNING 自己通常結合DML 語句使用。(INSERT UPDATE DELETE)
使用方法:
UPDATE table_name SET expr1 RETURNING column_name INTO xxx
INSERT: 返回的是添加後的值
UPDATE:返回時更新後的值
DELETE:返回刪除前的值
RETURNING 可以再sqlplus 和plsql中使用
如果是plsql就如上面的代碼,xxx為聲明的變量名
如果是sqlplus,xxx 可以為變量,即
VARIABLE var_name varchar2(10) UPDATE table_name SET expr1 RETURNING column_name INTO :var_name;
這裡的 :var_name 使用的是綁定變量
另外,RETURNING 貌似可以與 RETURN通用
INSERT INTO VALUES 支持 RETURNING
INSERT INTO SELECT、 和MERGE 語句 不支持 RETURNING
再另外,RETURNING 可以與BULK COLLECT 結合(批量綁定, 另外一個是 FORALL)
DECLARE TYPE table_type IS TABLE OF column_name%TYPE; v_tab table_type; BEGIN UPDATE table_name SET expr1 RETURNING column_name BULK COLLECT INTO v_tab; FOR i IN v_tab.first .. v_tab.last LOOP DBMS_OUTPUT.put_line( l_tab(i)); END LOOP; COMMIT; END; /