当前位置:首页 » 存储配置 » 怎么调用oracle存储过程

怎么调用oracle存储过程

发布时间: 2022-05-11 03:59:48

❶ oracle存储过程的调用

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中调试;

❷ ORACLE存储过程怎么调用

sqlplus中:
SQL>execute [包名.]过程名(参数列表); --然后回车即可

在其他过程或函数中,直接调用就行了。

❸ 调用oracle存储过程怎么写

这得看你是要在哪里调用了,如果在sql/plus,或者PLSQL Developer里的话可以直接exec 包名.过程名(参数),如果是在java程序里调用的话就是conn.prepareCall("{call 包名.过程名(?,?,?,?,?,?,?,?,?,?)}")了,如果是其他的语言的话旧另当别论了!

❹ oracle 怎么调用存储过程

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中调试;

❺ 怎么调用oracle存储过程入参

创建含有输入和输出参数的存储过程,该过程通过员工编号查找工资额,工资额以输出参数返回
CREATE OR REPLACE PROCEDURE getSalaryByEmpNo(eNo
IN NUMBER,salary
OUT NUMBER)
AS
BEGIN
SELECT SAL INTO
salary FROM EMP WHERE EMPNO=eNo;
EXCEPTION
WHEN NO_DATA_FOUND THEN!

❻ 在oracle中 存储过程如何调用存储过程

在存储过程中直zd接使用就行了
--创建回一个存储答过程
CREATE
OR
REPLACE
PROCEDURE
PR_NEW1
(N_NAME
VARCHAR2)
as
begin
DBMS_OUTPUT.PUT_LINE(N_NAME);
end
;
--在另一个存储过程中调用
CREATE
OR
REPLACE
PROCEDURE
PR_NEW2
as
begin
PR_NEW1('NAME');
---
end
;

❼ c++中怎么调用oracle的存储过程

在c++中用ado和bde的存储过程组件都可以调用存储过程呀。
设置一下存储过程的名字,参数的类型和长度,为每个参数赋值,调用即可。

❽ oracle怎么执行存储过程

sqlplus或者PL/SQL SQL窗口
输入(单独调用存储过程):
无参数
EXEC 过程名;
或者
BEGIN
过程名
END;
IN 参数
EXEC 过程名(入参数..);
或者
BEGIN
过程名(入参数...)
END;
OUT参数,IN OUT参数
variable 绑定变量名 数据类型; //定义一个变量接收出参数的值;
EXEC 过程名(:绑定变量名);

❾ 请问oracle怎么执行存储过程

我试验过了,就是exec 存储过程名或者execute 存储过程名(参数),请你在仔细确认一下,你的存储过程名写没写对呀,或者你没有进入sqlplus中?

----
以上,希望对你能有帮助。

❿ oracle存储过程怎么调用在pls/sql中写的,新手求指教

在命令行中exec 存储过程名就可以运行,或是放在其它的存储过程中,或是放在JOB中,都可以

热点内容
c语言中的unsignedchar 发布:2024-09-22 13:11:12 浏览:167
最好的加密移动硬盘 发布:2024-09-22 12:35:58 浏览:156
c语言编程贪吃蛇 发布:2024-09-22 12:34:21 浏览:745
青椒云电脑什么配置 发布:2024-09-22 12:24:50 浏览:279
pythongbkunicode 发布:2024-09-22 12:24:06 浏览:992
空调压缩机保险在哪里 发布:2024-09-22 12:18:01 浏览:364
笔记本配置看哪些 发布:2024-09-22 12:06:41 浏览:857
魔兽地图脚本制作 发布:2024-09-22 12:04:48 浏览:800
算法衰减 发布:2024-09-22 11:58:42 浏览:50
抖音安卓机客服中心在哪里 发布:2024-09-22 11:58:40 浏览:358