oracle存储过程里调用存储过程
Ⅰ oracle存储过程里调用存储过程
存储过程里直接新起一行写b(c,d);就可以,不在存储过程中单独执行时要call b(c,d);
Ⅱ oracle存储过程调用另一个存储过程
调用方法不正确
调用时没有实参,你应该按照函数定义时参数的个数和类型给函数传递同样个数和类型的参数,这是最基本的啊
你定义的是个函数,是函数就要返回值,你得用一个函数返回值同样类型的变量去接收这个返回值
Ⅲ oracle 在存储过程中如何正确调用另一个存储过程
PRO_PAGINGQUERY_sql这个存储过程是单独创建的还是在另一个package里面的,如果在另一个package则需要声明
Ⅳ oracle中,一个存储过程怎么调用另一个存储过程这两个存储过程都带有各自的参数。直接调用似乎不行。
直接调用就可以了。举个例子把 B 存储过程调用A 存储过程。
PROCEDURE A (p_1 in number,p_2 out number)
is
v_1 number;
begin
V_1:=p_1;
p_2:=v_1;
end A;
(1)如果A 与B同在一个package里面的话。那么 B里面直接可以调用A
PS:如果A,B在同一个Package 中无法调用的话,那么很可能是A,B在Spec里没有声明。一个package包含Spec 和Body,两层。不能调用很可能没有声明。声明后应该ok!
PROCEDURE B(p_1 in number)
is
v_result number;
begin
v_result =A(p_1);
end B;
其中v_result就是调用A的结果,A的返回值。
(2)如果A与B不在同一个package的话
那么B在调用A 的时候,需要加上pkg的名字
比如:A 存储过程在pkg :xxom_test_pkg 中
PROCEDURE B(p_1 in number)
is
v_result number;
begin
v_result = xxom_test_pkg .A(p_1);
end B;
----------------------------------------------------------
以上简单介绍了存储过程的调用。
希望对你有帮助
Ⅳ oracle中,一个存储过程怎么调用另一个存储过程
已经有人回答的很专业了!x0dx0a原则就是:你要调用哪个存储过程,就要为该存储过程传入它需要的参数x0dx0a它定义的几个,你就传入几个x0dx0a当然参数的类型要对应上。x0dx0a还有就是如果一个存储过程中定义了out类型的参数,当你在调用它的时候,这个out类型的参数也要参入,看它定义的是什么类型的out参数。然后定义一个该类型的变量,传入进去,用于接收存储过程返回的值。然后用这个值,去做下面的逻辑。
Ⅵ oracle中怎么在存储过程中调用同一个包的其他存储过程
在存储过程或函数里调用oracle包的话,首先要有执行这个包的权限;如果包属于其他的用户(不是系统包),调用时:用户名.包名.存储过程(参数)名或者
变量:=用户名.包名.函数(参数);因为函数有返回值,变量类型要跟函数返回值的类型一致。
在command
下调用的话:exec
用户名.包名.存储过程名(参数);select
用户名.包名.函数名(参数)
from
al;就可以了。包属于当期用户可以不写用户名。
Ⅶ oracle数据库调用存储过程
这个需要分情况的
如果是在应用程序(Java等)中调用存储过程,需要根据相应语言的语法来进行。这个可以通过查找相应语言的帮助来找到。
如果是在Oracle的其他存储过程中调用,直接写存储过程名就可以了。传入相应的参数,即可执行。
如果在Oracle的命令行中,使用EXEC
存储过程名(参数)
的方式即可调用。
如果存储过程执行的语句写在SQL文件中,则可以通过调用文件的方式执行,即
SQL>
@D:\SQL\example.sql的形式
Ⅷ oracle 存储过程中调用存储过程
一个带参数的存储过程。
SQL> CREATE OR REPLACE PROCEDURE HelloWorld1 (
2 p_user_name VARCHAR2
3 ) AS
4 BEGIN
5 dbms_output.put_line('Hello ' || p_user_name || '!');
6 END HelloWorld1;
7 /
Procere created.
SQL> CREATE OR REPLACE PROCEDURE CallHelloWorld1 (
2 p_user VARCHAR2
3 ) AS
4 BEGIN
5 -- 调用存储过程的 存储过程
6 HelloWorld1(p_user);
7 END CallHelloWorld1;
8 /
Procere created.
执行
SQL> set serveroutput on
SQL> exec CallHelloWorld1( 'Tom' );
Hello Tom!
PL/SQL procere successfully completed.
Ⅸ 在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
;