當前位置:首頁 » 存儲配置 » 怎麼調用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中,都可以

熱點內容
電腦開箱如何看配置 發布:2024-09-22 11:24:44 瀏覽:215
php防止採集 發布:2024-09-22 11:04:42 瀏覽:237
父與子編程 發布:2024-09-22 11:04:30 瀏覽:234
c語言短整形 發布:2024-09-22 10:48:17 瀏覽:705
易校園付款碼密碼是多少 發布:2024-09-22 10:30:26 瀏覽:294
小米2沒有存儲空間 發布:2024-09-22 10:30:26 瀏覽:652
linuxteamviewer安裝 發布:2024-09-22 10:26:13 瀏覽:233
動態存儲數組 發布:2024-09-22 10:26:12 瀏覽:937
php遠程獲取 發布:2024-09-22 10:23:45 瀏覽:298
php修改數組的key 發布:2024-09-22 10:22:44 瀏覽:881