利用 DML的RETURNING 语句可以返回刚刚操作的记录的信息,然后可以马上用于判断,这样避免了再次使用SQL语句做一次SELECT,提高了程序的性能,具体例子如下,注意UPDATE和DELETE返回值的差别:
CREATE OR REPLACE PROCEDURE test_returning
IS
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
INSERT INTO emp(empno,ename,sal)VALUES(1234,'SHADOW',4000)
RETURNING ename,sal INTO v_ename,v_sal;
dbms_output.put_line(SQL%ROWCOUNT);
dbms_output.put_line(v_ename);
dbms_output.put_line(v_sal);
UPDATE emp SET sal=3000 WHERE empno=1234
RETURNING ename,sal INTO v_ename,v_sal;
dbms_output.put_line(SQL%ROWCOUNT);
dbms_output.put_line(v_ename);
dbms_output.put_line(v_sal);
DELETE FROM emp WHERE empno=1234
RETURNING ename,sal INTO v_ename,v_sal;
dbms_output.put_line(SQL%ROWCOUNT);
dbms_output.put_line(v_ename);
dbms_output.put_line(v_sal);
END;
/
运行如下:
SQL> @g:/orcl/returning.sql
过程已创建。
SQL> exec test_returning
1
SHADOW
4000
1
SHADOW
3000
1
SHADOW
3000
PL/SQL 过程已成功完成。
参考http://hi.baidu.com/kongzong/blog/item/184f97cafd39ff86c8176825.html
分享到:
相关推荐
在本文中,我们介绍了Spring Boot AOP中的@AfterReturning注解,它用于定义在目标方法成功返回后执行的切面逻辑。我们通过一个图书管理系统的实例演示了@AfterReturning的使用方式,并在成功查询图书时记录了查询的...
python库。 资源全名:django_pg_returning-1.0.0-py2.py3-none-any.whl
NULL 博文链接:https://futeng.iteye.com/blog/1833449
attr_copy: copy an attribute list, returning the size in bytes.
RETURNING 自己通常结合DML 语句使用。(INSERT UPDATE DELETE) 使用方法: UPDATE table_name SET expr1 RETURNING column_name INTO xxx INSERT: 返回的是添加后的值 UPDATE:返回时更新后的值 DELETE:返回删除...
An Eco-tour of returning to nature.zip
returning-DOM-elements-javascript-源码.rar
Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest returning NULL Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest returning NULL Dec 17 13:59:26 localhost kernel: PAL Shim AllocRequest ...
主要介绍了Spring AOP定义AfterReturning增加,结合实例形式分析了Spring面相切面AOP定义AfterReturning增加相关操作技巧与使用注意事项,需要的朋友可以参考下
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes] 194 | void pure_func seg_init(void); 这是由于gcc版本过新,解决方案如下 vim ./inclu
May expose internal representation by returning reference to mutable object 描述:调用get方法,获得对象属性,获得的对象属性是一个可变的对象; b) 建议处理 Dead store to local variable 描述:对一个局部...
是错误报告: The specified CGI application misbehaved by not returning a complete set of HTTP headers 意思是:(http协议的CGI模式运行不正确) 因为perl脚本的第一句中不支持 -wT 参数,将所有的 -wT 替换成...
Returning IDOK.INSTALLMESSAGE_ERROR[无法将数值 PresentationHost.exe 写入键] \Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LEGACY_COMPRESSION。请验证您对该键拥有足够的访问权限,或者...
Funtion with return values in c++
NULL 博文链接:https://caohong286.iteye.com/blog/1486738
P瀑布串联运行promise-returning和异步函数,每个函数将其结果传递给下一个安装 $ npm install p-waterfall用法 import pWaterfall from 'p-waterfall' ;const tasks = [initialValue => getEmoji ( initialValue ) ...