1. 程式人生 > >oracle儲存過程中 RETURNING INTO的含義

oracle儲存過程中 RETURNING INTO的含義

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指導書中,推薦這種方法進行變數儲存,能夠最大限度的保證資料的一致。

參考:https://blog.csdn.net/helloboat/article/details/43483071