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的區別?...