ORACLE的DML语句中可以指定RETURNING INTO语句。RETURNING INTO语句的使用在很多情况下可以简化PL/SQL编程,少一次select into语句。
DELETE操作:RETURNING返回的是DELETE之前的结果;
INSERT操作:RETURNING返回的是INSERT之后的结果;
UPDATE操作:的RETURNING语句是返回UPDATE操作之后的结果。
-- Created on 2015/11/5 星期四 by YANCONG-ZHANG
-- Returning的用法
DECLARE
-- Local variables here
i INTEGER;
l_tid NUMBER;
l_tname VARCHAR2(200);
l_tage NUMBER;
BEGIN
-- Test statements here
--返回要插入的数据
INSERT INTO zyc
VALUES
(4, ‘wy‘, 20)
RETURNING tid, tname, tage INTO l_tid, l_tname, l_tage;
dbms_output.put_line(l_tid || ‘-‘ || l_tname || ‘-‘ || l_tage);
--返回要删除的数据
DELETE zyc
WHERE tid = 1
RETURNING tid, tname, tage INTO l_tid, l_tname, l_tage;
dbms_output.put_line(l_tid || ‘-‘ || l_tname || ‘-‘ || l_tage);
--返回要更新的数据
UPDATE zyc
SET tid = 5, tname = ‘lwj‘, tage = 22
WHERE tid = 2
RETURNING tid, tname, tage INTO l_tid, l_tname, l_tage;
dbms_output.put_line(l_tid || ‘-‘ || l_tname || ‘-‘ || l_tage);
COMMIT;
END;