欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PL/SQL 中Returning Into的用法

程序员文章站 2023-03-12 09:44:40
ORACLE的DML语句中可以指定RETURNING INTO语句。RETURNING INTO语句的使用在很多情况下可以简化PL/SQL编程,少一次select into语句。...
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;