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;