oracle儲存過程中 RETURNING INTO的含義
阿新 • • 發佈:2018-12-02
DECLARE Row_id ROWID; info VARCHAR2(40); BEGIN INSERT INTO dept VALUES (91, 'SERVICE', 'BEIJING') RETURNING rowid,dname||':'||to_char(deptno)||':'||loc INTO row_id, info; DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id); DBMS_OUTPUT.PUT_LINE(info); END;
解析
在對資料表進行dml操作(Insert、Update和delete)的時候,有時會需要獲取到進行操作的資料。最簡單的方法就是在DML操作之前或者之後進行一下select操作,將資料獲取到。此外,還可以使用一種更為簡潔的方法,就是使用Oracle SQL的returning into
子句。
Returning Into簡介
在進行insert、update和delete操作的時候,都可以在末尾加入returning into字句。這字句的作用是將進行DML操作影響到資料行的列值,儲存進指定的PL/SQL變數中。使用該字句的效果,與進行insert、update之後執行select into,以及在delete之前進行select into的效果相同。在Oracle官方的PL/SQL指導書中,推薦這種方法進行變數儲存,能夠最大限度的保證資料的一致。