PLSQL中的DML plsql中调用存储过程

简单介绍一下DML

包括insert delete updatemerge,在这里重点说一下merge语句。这个语句的主旨就是为实现在一句sql语句中实现insert、update、delete这三种操作,其中delete是10g以后的版本才支持的。语法结构不是本文关心的重点,大家可以去oraclereference中去看看。

DML操作的游标属性

每次执行结束sql语句,oracle会为主动的建立一个名叫SQL的隐式游标,可以用SQL%的方式访问sql语句执行的结果,但这个隐式游标记录的值永远是上一次执行的sql语句的结果,所以如果时间点一执行了一跳sql语句要在后面的某个地方用到它的执行结果,最好在执行结束后用一个变量保存他的值(比如var1:=SQL%ROWCOUNT)。下图总结了隐式游标属性返回值的意义

从DML语句返回结果

如果我们在plsql程序中执行了inert、update或者delete操作而且需要操作后的数据做进一步处理是,可以用returning子句返回结果。示例如下:

CREATE OR REPLACE PROCEDURE TEST1 AS
varsal empzxy.sal%type;
BEGIN
for var1 in (select * from empzxy)
PLSQL中的DML plsql中调用存储过程
loop

//这里如果修改了多行就需要一个结果集,这个以后在详细讲结果集的问题吧

update empzxy set sal=9000 where sal=800 returning salinto varsal;
if(sql%found) then
dbms_output.put_line(varsal);
endif;
end loop;
END TEST1;

DML和记录配合使用

CREATE OR REPLACE PROCEDURE TEST2 (insertdata in empzxy%rowtype)AS
BEGIN
insert into empzxy values insertdata;
exception
when others then
dbms_output.put_line(dbms_utility.format_error_backtrace);
END test2;

declare

my_emp empzxy%rowtype;

begin

my_emp.no:=20;

……

update empzxy set ROW=my_em;

end;

my_emp empzxy%rowtype;

update empzxy set sal=9000 where sal=800 returningempno,ename,job,megr,sal,comm,deptno into my_emp;

  

爱华网本文地址 » http://www.aihuau.com/a/25101017/328572.html

更多阅读

存储过程基本语法及实例 存储过程语法

存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程create procedure sp_name()begin.........end二.调用存储过程1.基

如何在html中调用js代码 html5如何调用js文件

如何在html中调用js代码——简介js代码即为javascript代码,可直接在客户端解释执行,在html中调用js代码的方法主要有两种:一、将javascript直接写在html文件中,然后在html中调用js函数等;二、将js代码写一个文件中,然后在html中引用该文件

SQL server存储过程语法及实例 mysql存储过程实例

存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程create procedure sp_name()begin.........end二.调用存储过程1.基本

MYSQL定时执行存储过程实例 mysql定时器不执行

重新定义mysql命令行结束符为//,命令行创建存储过程需要。delimiter //MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件、定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接

简单CXF方式的webService客户端调用范例 cxf客户端动态调用

简单CXF方式的webService客户端调用范例文章分类:Java编程一般webServices发布后需要测试一下,是否可行通,在此我把自己所测试的 调用 webService 的简单范例贴出来供新手参考。如有不足,请多指教。1:需要借助的包: wss4j-1.5.4.jar cxf

声明:《PLSQL中的DML plsql中调用存储过程》为网友因为我的勇气分享!如侵犯到您的合法权益请联系我们删除