當前位置:首頁 » 存儲配置 » oracle存儲過程中調用存儲過程

oracle存儲過程中調用存儲過程

發布時間: 2022-08-12 19:39:57

⑴ Oracle 存儲過程調用存儲過程

沒有看到定義REPORTEVERYDETAIL1

同時REPORTEVERYDETAILG 是存儲過程,不是函數

b:=REPORTEVERYDETAILG () 也有問題

你最好把這些存儲過程度放到一個包中建立

⑵ oracle中,一個存儲過程怎麼調用另一個存儲過程

在存儲過程A的begin,end之間你想要的位置,直接用存儲過程B就可以了啊…………

⑶ 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中怎麼在存儲過程中調用同一個包的其他存儲過程

在存儲過程或函數里調用oracle包的話,首先要有執行這個包的許可權;如果包屬於其他的用戶(不是系統包),調用時:用戶名.包名.存儲過程(參數)名或者
變數:=用戶名.包名.函數(參數);因為函數有返回值,變數類型要跟函數返回值的類型一致。
在command
下調用的話:exec
用戶名.包名.存儲過程名(參數);select
用戶名.包名.函數名(參數)
from
al;就可以了。包屬於當期用戶可以不寫用戶名。

⑸ 在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
;

⑹ oracle存儲過程里調用存儲過程

存儲過程里直接新起一行寫b(c,d);就可以,不在存儲過程中單獨執行時要call b(c,d);

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

熱點內容
視頻md5加密 發布:2025-01-09 05:08:59 瀏覽:923
xp系統文件夾加密 發布:2025-01-09 04:52:38 瀏覽:171
外部調用shell腳本內函數 發布:2025-01-09 04:49:14 瀏覽:252
java資料庫搜索 發布:2025-01-09 04:48:30 瀏覽:618
pythoninspect 發布:2025-01-09 04:42:12 瀏覽:411
資料庫系統概論第 發布:2025-01-09 04:29:34 瀏覽:461
一元奪寶伺服器怎麼樣 發布:2025-01-09 04:24:58 瀏覽:520
idc腳本編寫 發布:2025-01-09 04:14:40 瀏覽:372
玩我的世界電腦伺服器延遲怎麼辦 發布:2025-01-09 04:04:18 瀏覽:66
pythonfor條件 發布:2025-01-09 03:51:14 瀏覽:728