oracle儲存過程out引數的值怎麼使用

2022-02-26 16:52:50 字數 3438 閱讀 4933

1樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

oracle中如何定義一個使用out引數的儲存過程

2樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

3樓:問豬笑了冇

out的意思就是將執行完後 該變數的值賦給傳入時的這個引數.

如你所說

若在外處呼叫你的過程

declare aaa...

....

total_students(aaa)

.....

如果select count(*) into nums from students;執行結果為10

則aaa的值就是10.

oracle 儲存過程 out引數 5

4樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

5樓:匿名使用者

動態sql

using out v_erortx意思是insert into tab()......"這句中的變數用傳出引數v_erortx繫結,比如動態sql中有一個過程,而該過程的有個out 引數,此時就可以用using out 的方式

execute immediate 'begin mypro1(:1,:2); end;'

using in 1,out v_erortx;請參考

6樓:匿名使用者

引數不允許精度,比如可以number,varchar2,不能使用number(2)、varchar2(2)

7樓:匿名使用者

首先,恭喜你猜對了,要去掉引數。

想必這個規定是oralce本身定義好的規則。

仔細推敲一下,我想道理是這樣的:

假設規定了傳入引數的長度,一旦你傳入的實際變數的長度超過定義的長度,那oralce怎麼辦? 還需要增加校驗和提示吧?

這樣以來莫不如不超過該型別的長度即可,大家用起來也方便:)猜想你是和定義變數弄混了。變數的定義是要指定長度的。

oracle中怎麼執行帶有輸出引數的儲存過程,在程式中我知道怎麼呼叫,

8樓:刺友互

1、新建一個儲存過程(procedure)。

2、修改儲存過程,這個儲存過程有一個輸入引數(pid)跟一個輸出引數(name),即通過使用者id查詢使用者名稱稱並將名稱返回。

3、除錯儲存過程,找到剛剛建立的儲存過程右擊並點選【test】選項。

4、在開啟的視窗內修改id值並點選左上角的倒三角形圖示開始除錯。

5、按【ctrl+n】進行單步進入除錯,【ctrl+o】單步除錯,【ctrl+t】退出除錯,也可以點選除錯工具進行除錯。

6、變數檢視,在視窗下方可輸入變數名稱觀察變數的變化情況。

7、除錯完成後就可以檢查除錯結果。

9樓:drank傾城

--儲存過程的建立

set serveroutput on;

create or replace procedure select_dept(

num_deptno in number,--定義in模式變數,要求輸入部門編號

var_dname out dept.dname%type,--定義out模式變數,可以儲存部門名稱並輸出

var_loc out dept.loc%type) is

begin

select dname,loc into var_dname,var_loc from dept

where deptno = num_deptno;--檢索某個部門編號的部門資訊

exception

when no_data_found then--若select語句無返回記錄

dbms_output.put_line('該部門編號的不存在');--輸出資訊

end select_dept;

/--儲存過程的呼叫

--注意:含有輸出引數的儲存過程呼叫,需要先宣告與out引數型別相容的變數

set serveroutput on;

declare

var_dname dept.dname%type;

var_loc dept.loc%type;

begin

select_dept(10,var_dname,var_loc);

dbms_output.put_line(var_dname||'位於:'||var_loc);

end;/

10樓:

下面說明在sql developer中的做法,右擊儲存結構的檔名,在選單中選擇run,會跳出一個叫run pl/sql的頁面,在下方寫著pl/sql block 的地方修改輸入引數

spno =>spno 修改為spno =>真實的值

具體可以參看help中的run/debug/profile pl/sql

11樓:匿名使用者

sql> create or replace procedure sp_pro10

2 (spno in number,spname out varchar2) is

3 begin

4 select 'ename' into spname from dual;

5 end;

6 /

過程已建立。

sql> set serveroutput onsql> declare

2 spno number;

3 spname varchar2(10);

4 begin

5 sp_pro10 (spno, spname);

67 dbms_output.put_line(spname);

8 end;

9 /

ename

pl/sql 過程已成功完成。

oracle中帶有out型別的儲存過程應該如何呼叫?跪求大神指點我

12樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

13樓:匿名使用者

pro5_out本來就是一個儲存過程,所以你直接呼叫就可以了,另外你下面呼叫的時候寫的是一個pl/sql塊,所以需要參照pl/sql塊的寫法,不然的話就會出現value3沒有宣告的情況,可以參照上面的declare那一段就可以了。

oracle怎麼寫儲存過程,oracle 儲存過程,寫一個簡單的Oracle儲存過程

給你示例你參考下 建立儲存過程 create or replace procedure p name 儲存過程名字 i var in int,輸入引數1 o var out varchar2 輸出引數1 is v str varchar2 200 定義儲存過程內部的區域性變數 begin 下面是儲存...

oracle建立儲存過程有小紅叉儲存過程新手請

說一下你的問題 在儲存過程中,一個select語句中,查詢的欄位必須要放到變數中也就是select 欄位1 into 變數1 from 表名 where 條件 這樣才不會報錯 而你這個,沒什麼實際的意義 你要是非想讓它不紅叉,可以這樣 create or replace procedure p tf...

oracle儲存過程as和is區別

第一個問題 is和as是可以互用的,用哪個都沒關係的第二個問題 在外專面 第三個問題 過程屬中沒有declare關鍵字,declare用在語句塊中 第四個問題 估計你看到的是做遊標定義的東東,抑或者直接就一句sql。沒區別,我更喜歡用as,因為用鍵盤比較方便 oracle儲存過程中is和as的區別?...