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

你可能感兴趣的:(数据库)