oracle 怎么调用存储过程
发布网友
发布时间:2022-04-22 12:54
我来回答
共3个回答
热心网友
时间:2022-04-07 19:46
ORACLE存储过程 以oracle自带例子数据库的表举例
1、
create or replace procere p
is
cursor c is
select * from emp2 for update;
begin
for v_emp in c loop
if(v_emp.sal <2000) then
update emp2 set sal =sal+1 where current of c ;
elsif(v_emp.sal>=2000) then
delete from emp2 where current of c;
end if;
end loop;
commit;
end;
创建了存储过程不代表运行了存储过程;
运行此存储过程 :
方式一 exec p;
方式二
begin
p;
end;
2、带参数的存储过程
in 相当于程序里的参数,供传入用,在存储过程不能改变其值;
out 相当于程序里的返回值,在存储过程中可以为其赋值传出;
in out 既可以当参数又可以当返回值用;
不带上述说明符默认为in类型;
下例中v_a v_b 为in类型
v_c 为out类型
v_d 为in out 类型
create or replace procere p(v_a in number,v_b number,v_c out number,v_d in out number)
is
begin
if(v_a > v_b) then
v_c := v_a;
else
v_c := v_b;
end if;
v_d := v_d+1;
end;
---> 调试时:
可以在命令窗口调试,出错时 用show errors 显示出错信息;
可以在plDv中调试;
---> 运行时:
可以在命令窗口运行:
declare
v_a number:=3;
v_b number:=4;
v_c number;
v_d number:=5;
begin
p(v_a,v_b,v_c,v_d);
dbms_output.put_line(v_c);
dbms_output.put_line(v_d);
end;
可以在plDv中调试;
热心网友
时间:2022-04-07 21:04
过程名(字段 变量) 就行了啊
热心网友
时间:2022-04-07 22:39
你用PL还PD?
还是在程序里调用
oracle 怎么调用存储过程
1)创建一个简单的表:create table paiming(name varchar2(30),chengji number(3,1));2)创建过程:create procedure sp_pro1 is begin --执行部分 insert into paiming values('tom',78.9);end;3)调用存储过程:exec sp_pro1;
oracle存储过程里调用存储过程
如果已经存在一个存储过程A(参数);那么在存储过程B中可以直接通过:values := A(参数);即可实现调用。备注:values必须在初始化过程中进行定义如: values VARCHAR(30);并且此类型必须与A存储过程返回参数类型一致。
oracle中,一个存储过程怎么调用另一个存储过程?
\x0d\x0a原则就是:你要调用哪个存储过程,就要为该存储过程传入它需要的参数\x0d\x0a它定义的几个,你就传入几个\x0d\x0a当然参数的类型要对应上。\x0d\x0a还有就是如果一个存储过程中定义了out类型的参数,当你在调用它的时候,这个out类型的参数也要参入,看它定义的是什么类型的out...
oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,
1、新建一个存储过程(Procedure)。2、修改存储过程,这个存储过程有一个输入参数(pid)跟一个输出参数(name),即通过用户id查询用户名称并将名称返回。3、调试存储过程,找到刚刚创建的存储过程右击并点击【test】选项。4、在打开的窗口内修改id值并点击左上角的倒三角形图标开始调试。5、按【CTRL+N】...
如何oracle调试存储过程
1.打开PL/SQL Developer 如果在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面 输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定 找到需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有...
oracle 中用什么命令执行一个带参数的存储过程
1、第一步,创建一个新的存储过程,见下图,转到下面的步骤。2、第二步,完成上述步骤后,修改存储过程。 此存储过程具有一个输入参数(pid)和一个输出参数,即通过用户id查询用户名并返回名称,见下图,转到下面的步骤。3、第三步,完成上述步骤后,调试存储过程,找到新创建的存储过程,右键单击[...
如何建立oracle包,如何调用包的过程或是函数
--调用存储过程 SQL> exec sp_package.update_sal('SCOTT', 8888);--调用函数 var income NUMBER;CALL sp_package.ANNUAL_INCOME('SCOTT') INTO:income;print income;特别说明:包是pl/sql 中非常重要的部分,我们在使用过程分页时,将会再次体验它的威力呵呵。触发器 触发器是指隐含的执行的存储...
oracle调用存储过程,call和exec有什么区别
oracle 中调用存储过程可以用exec,或begin……end,但无法使用call。但exec只可以在命令行下执行,如sqlplus下或plsql的命令窗口下执行,但begin……end可以用第三方工具或命令行下执行。如图:命令下执行:第三方工具执行:
oracle中有个存储过程A,怎么得到调用A的所有存储过程? plsql中怎么去...
在pl/sql左边树形列表中找到A这个存储过程,然后展开A前面的加号,在点击reference就是调用A的函数和过程
oracle中怎么在存储过程中调用同一个包的其他存储过程
在存储过程或函数里调用oracle包的话,首先要有执行这个包的权限;如果包属于其他的用户(不是系统包),调用时:用户名.包名.存储过程(参数)名或者 变量:=用户名.包名.函数(参数);因为函数有返回值,变量类型要跟函数返回值的类型一致。在command 下调用的话:exec 用户名.包名.存储过程名(参数);...