點關注不迷路,歡迎再訪!
精簡部落格內容,盡量已行業術語來分享。四.帶有引數的儲存過程努力做到對每一位認可自己的讀者負責。
幫助別人的同時更是豐富自己的良機。
五.in,out引數問題
六.異常寫法
七.迴圈
八.基本正刪改查
create or replace procedure 儲存過程名
asbegin
------
----
----
----
----
----
--end;
注:
在儲存過程(procedure)和函式(function)中沒有區別;
在檢視(view)中只能用as不能用is;
在游標(cursor)中只能用is不能用as。
create or replace procedure mydemo01
asbegin
dbms_output.
put_line
('hello word, my name is stored procedure');
end;
as:關鍵字。begin:關鍵字。dbms_output.put_line(『hello word, my name is stored procedure』); 輸出內容。
end;關鍵字。
3.1 宣告declare關鍵字
declare
begin
mydemo01;
end;
3.2不宣告declare關鍵字begin
mydemo01;
--在此處也可使用mydemo01()
;完成儲存過程的呼叫
end;
3.3callcall mydemo01()
;--call 儲存過程名可完成呼叫,注意括號不能少
執行的結果如下所示:
create or replace procedure mydemo02
(name in varchar,age in int)
asbegin
dbms_output.
put_line
('name='
||name||
', age='
||age)
;end;
注:在呼叫儲存過程時,如果儲存過程沒有引數,呼叫時括號()可以不帶。
create or replace procedure mydemo04
(name out varchar,age in int)
asbegin
dbms_output.
put_line
('age='
||age)
; select 'ex_sunqi' into name from dual;
end;
declare
name varchar(10
);age int;
begin
mydemo04
(name=>name,age=>25)
; dbms_output.
put_line
('name='
||name)
;end;
注:in代表輸入,out用於輸出,引數預設型別是in型別。執行的結果如下所示:
create or replace procedure mydemo03
asage int;
begin
age:=1
/0; dbms_output.
put_line
(age)
;--異常
exception when others then
dbms_output.
put_line
('error');
end;
call mydemo03()
;
執行的結果如下所示:
7.1while 迴圈
create or replace procedure mydemo5
as n_count number :=0
;begin
while n_count <
5 loop
dbms_output.
put_line
(n_count)
; n_count :
= n_count +1;
end loop;
end;
begin
mydemo5;
end;
執行的結果如下所示:
7.2for迴圈
執行的結果如下所示:
create or replace procedure mydemo07(id
in int, user_name in varchar,pssword in varchar, created_date in
date
,created_by in varchar,updated_date in
date
,updated_by in varchar,is_valid in varchar)
asbegin
insert into t_user_info
values(id
,user_name,pssword,created_date,created_by,updated_date,updated_by,is_valid);--
update
t_user_info t set t.
user_name
='sunqi'
where t.id=
id;--delete
t_user_info t where t.id=
id;
commit;
--提交
end;
begin
mydemo07(3
,'ex_sunqi'
,'666666'
,sysdate
,'ex_sunqi'
,sysdate
,'ex_sunqi'
,'y');
end;
執行的結果如下所示: ORACLE儲存過程簡明教程
26.1 建立做試驗的表及資料 create table emp ly as select from emp 說明 注意複製表結構及資料不是sql server裡面的語法select into emp ly from emp,這在oracle裡面行不通,當然如果僅複製結構的話使用 create ta...
Oracle儲存過程呼叫儲存過程
oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...
ORACLE儲存過程
自定義函式開始 create or replace function fn wftemplateidget templatecategoryid number,organid number,templatemode number return number istemplateid number i...