如何編寫和使用Oracle中的procedure

2022-04-08 07:02:47 字數 2217 閱讀 5197

如何編寫和使用oracle中的procedure

1.建立/修改

create [or replace] procedure procedure_name

[(parameter_list)]

[local_declarations]

begin

executable_statements

[exception exception_handlers]

end [procedure_name];

a.parameter_list格式如下

parameter_name1 [in | out | in out] type, parameter_name1 [in | out] type [,........]

in 是輸入引數, 可以有預設值,預設值例子 emp_no in number:=7900

out 是輸出引數,

b.as/is的區別

在檢視(view)中只能用as不能用is

在游標(cursor)中只能用is不能用as

c.local_declarations格式如下:

loacal_var1 type(limit);

如empname varchar2(20);

d.輸出變數賦值

oracle 變數賦值有兩種一種是直接 := 還有就是 select into

游標引數

outcur out basic_cursor:

open outcur for select col1,col2 from tablename

e.示例

create or replace procedure putnum(p_date in date, p_year out varchar2) is

v_num number(8) := 1;

v_days number;

v_date date;

begin

dbms_output.put_line('intput value:' || p_year);

v_num := 1;

v_days := 1;

v_days := to_number(to_char(p_date, 'dd')); -- to_char(sysdate-20,'dd')

for i in 1 .. v_days loop

v_date := to_date('2011/11/' || to_char(i), 'yyyy/mm/dd');

--dbms_output.put_line(v_date);

end loop;

p_year := '2012';

end;

2.呼叫

[execute]|[call] procedure_name[(parameter,…n)]

在**塊 declare 的 begin/end 中不需要 [execute]|[call], 直接procedure_name[(parameter,…n)]

其他外部程式需要 [execute]|[call]

在pl/sql中呼叫這個儲存過程,採用了如下的**:

begin

proc_insert('hello6',25,'2005-12-24');

commit;

end;

3.顯示除錯資訊

a.儲存過程中在必要的位置新增

dbms_output.put_line ('hello world!');

b.開啟dbms_output

show serveroutput;

set serveroutput on;

c.測試我們的 procedure

複製****如下:

exec procedure_name

3.顯示錯誤 show errors

如果在 exec 儲存過程中提示出現錯誤,時刻使用"show errors"命令檢視**出錯了

4.檢視

a.所有 procedure

select object_name,object_type,status from user_objects where object_type='procedure';

b.指定 procedure

select text from user_source where name = 'procedure_name';

5.刪除

drop procedure procedure_name;

Oracle中如何建立使用SEQUENCES

oracle中sequences的使用 oracle提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面介紹一下關於sequence 的生成,修改,刪除等常用的操作 1.建立 sequence 使用如下命令新建sequence 使用者需要有c...

Makefile的編寫和使用

make工具是linux下強大的編譯工具,make命令是linux下編譯程式的常用命令,要想使用make命令來編譯程式,首先我們的學會如何編寫makefile檔案 下面是乙個小例子,用來說明make命令的使用和makefile檔案的編寫 1.首先我們這裡來編寫乙個程式 功能 輸入兩個數,輸出其中的最...

roslaunch的使用和編寫

roslaunch package name file.launch roslaunch檔案是使用xml語言來描述節點以及相關引數的設定和軟體的啟動的。2.1標籤 標籤是任何roslaunch檔案的根元素。它的唯一目的是作為其他元素的容器。其包含的元素有 啟動節點 對引數伺服器進行引數設定 宣告對映...