`
ruilin215
  • 浏览: 1148154 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

RETURNING

 
阅读更多

利用 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中使用@AfterReturning注解

    1. **明确横切关注点**:在使用@AfterReturning 之前,确保你已经识别出了需要在目标方法执行后处理的横切关注点,如日志记录、性能监控或事务管理。 2. **合理定义切入点**:使用切入点表达式精确地定义哪些方法...

    Python库 | django_pg_returning-1.0.0-py2.py3-none-any.whl

    python库。 资源全名:django_pg_returning-1.0.0-py2.py3-none-any.whl

    findbugs:may expose internal representation by returning

    《深入理解FindBugs:可能通过返回暴露内部表示——“NULL”问题分析》 在软件开发过程中,确保代码的质量和安全至关重要。FindBugs作为一款静态代码分析工具,能够帮助开发者在程序运行前发现潜在的问题。...

    attr_copy.rar_The Returning

    "attr_copy.rar_The_Returning"这个标题暗示我们关注的是一个与复制文件属性相关的程序或函数,可能是一个C语言编写的源代码文件,即"attr_copy.c"。这个程序的功能是复制一个属性列表,并返回所占用的字节数。 `...

    《Pro Oracle SQL》CHAPTER 9 The Model Clause -- 9.4Returning Updated Rows

    9.4小节“Returning Updated Rows”讨论了在执行Model操作后如何获取更新后的行。在执行涉及Model子句的DML操作时,我们可能需要查看或验证哪些行被修改了,或者新状态是什么。通常,SQL更新操作不会返回更新的行,...

    An Eco-tour of returning to nature.zip

    "An Eco-tour of returning to nature.zip"这个压缩包文件为我们提供了一份关于生态旅游的详细资料,引领我们踏入一场回归自然的探索之旅。 首先,生态旅游(Eco-tourism)是一种尊重环境、保护生物多样性和促进...

    oracle RETURNING 子句使用方法

    Oracle的RETURNING子句是数据库操作中的一个强大特性,它允许在执行INSERT、UPDATE或DELETE语句时直接获取处理的数据结果。这在处理事务时非常有用,尤其是当你需要基于新插入或更新的数据进行进一步操作时。 1. **...

    returning-DOM-elements-javascript-源码.rar

    标题 "returning-DOM-elements-javascript-源码.rar" 暗示了这是一个关于使用JavaScript操作和检索DOM元素的源代码集合。DOM(Document Object Model)是HTML和XML文档的结构化表示,允许通过编程方式访问和修改文档...

    Spring AOP定义AfterReturning增加实例分析

    Spring AOP 定义 AfterReturning 增加实例分析 Spring AOP (面向方面编程) 是 Spring 框架中的一种编程范式,旨在将切面编程融入到应用程序中。AfterReturning 是 Spring AOP 中的一种Advice (通知),它在目标方法...

    解决FLUSH、CMPLT、BKGND资源占用过高的问题

    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 ...

    7Spring AOP盗梦空间之二——获得返回值AfterReturnning

    在本篇博文中,我们将深入探讨Spring AOP(面向切面编程)中的一个重要概念——AfterReturning通知,这是Spring框架提供的一种强大的功能,允许我们在方法成功执行并返回后执行额外的操作。我们将通过源码分析和实际...

    findbug 常见异常处理

    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

    是错误报告: The specified CGI application misbehaved by not returning a complete set of HTTP headers 意思是:(http协议的CGI模式运行不正确) 因为perl脚本的第一句中不支持 -wT 参数,将所有的 -wT 替换成...

    findbugs常见Bug以及处理办法

    - **May expose internal representation by returning reference to mutable object**:调用get方法,获得对象属性,获得的对象属性是一个可变的对象。 - **描述**:返回内部可变对象的引用,可能会导致外部实体...

    spring aop 实例

    我们可以通过实现`AfterReturningAdvice`接口并定义一个`afterReturning`方法来创建此类通知。这个方法接收四个参数:返回值、目标对象、方法名和方法参数,这使得我们可以访问方法执行的所有相关信息。 2. **...

    net framework 4 安装失败

    Returning IDOK.INSTALLMESSAGE_ERROR[无法将数值 PresentationHost.exe 写入键] \Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LEGACY_COMPRESSION。请验证您对该键拥有足够的访问权限,或者...

    Function Parameters Returning Values.rar_C++_MM4L_grain3ne_retur

    在C++编程语言中,函数是执行特定任务的代码块,可以接受输入(参数)并产生输出(返回值)。函数的返回值是函数执行完成后传递回调用位置的数据。本主题将深入探讨C++中函数参数及返回值的使用。...

Global site tag (gtag.js) - Google Analytics