乙個procedure是執行一種行為的子程式型別。
乙個procedure既可以作為乙個方案物件單獨儲存,也可以作為乙個包中的乙個成員。
procedure語法:
create [or replace] procedure
procedure_name
[(parameter[,parameter]...)]
is | as
[local declarations]
begin
executable statements
[exception
exception handlers]
end [procedure_name];
引數模式:
in parameter
out parameter
in out parameter
幾個儲存過程示例:
--儲存過程示例所必須的表
create table masa_mk.dept
(p_no varchar2(10),
p_name varchar2(10),
p_loc number(10)
)--僅包含輸入引數
create or replace procedure add_dept
(p_no1 in dept.p_no%type,
p_name1 in dept.p_name%type default 'unknown',
p_loc1 in dept.p_loc%type default 'unknown')
isbegin
insert into dept
values(p_no1,p_name1,p_loc1);
commit;
end;
--包含輸入輸出引數
create or replace procedure query_dept
(eno in dept.p_no%type,
p_sal out dept.p_name%type)
isbegin
select p_no into p_sal from dept where p_no = eno;
end query_dept;
--乙個引數,既是輸入引數又是輸出引數
create or replace procedure format_phone
(p_phone_no in out varchar2)
isbegin
p_phone_no := '(' || substr(p_phone_no,1,3) ||
')' || substr(p_phone_no,4,3) ||
'-' || substr(p_phone_no,7);
end format_phone;
out引數可以是乙個未初始化得變數
sql> variable aa varchar2
sql> exec query_dept('1',:aa);
執行後,out引數被分配成乙個實際的值
pl/sql procedure successfully completed
aa---------
1刪除procedures
drop procedure procedure_name;
《Mysql儲存過程程式設計》之初始mysql儲存過程
json code 12 3456 78910 1112 1314 1516 171 什麼是儲存過程?過程就是把若干條sql組合起來並起乙個名字即沒有返回值的函式 通過其他方式返回 把過程儲存在資料庫中就是儲存過程 2 第乙個儲存過程,建立簡單儲存過程語法 create procedure proc...
儲存過程系列之儲存過程sql查詢儲存過程的使用
1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...
儲存過程系列之儲存過程sql查詢儲存過程的使用
1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...