--函數(shù)和存儲過程都可以單獨定義,這個時候它們分別會出現(xiàn)在pl/sql--functions的文件夾和Procedures文件夾下面 --同時它們又可以
--函數(shù)和存儲過程都可以單獨定義,這個時候它們分別會出現(xiàn)在pl/sql
--functions的文件夾和Procedures文件夾下面
--同時它們又可以同時被定義在package里面
--而定義在一個package里面的函數(shù)或者存儲過程與單獨定義在functions文件夾下的函數(shù)以及定義在procedures文件夾下面的procedure即便是重名了也是不會相互影響的,因為它們的作用域是不一樣的,因為定義在package里面的函數(shù)或者procedure在被調用的時候需要加上包名才行,而且在包里面的函數(shù)又可以調用外部的函數(shù)或者是存儲過程。
--不過需要了解的而是包只是對于方法和函數(shù)的一個定義就像是java里面的接口一樣
--它只是定義了方法體和存儲過程體但是沒有實現(xiàn),,實現(xiàn)需要在package body里面實現(xiàn)
--這主要也是為了一種規(guī)范
--因為創(chuàng)建存儲過程經(jīng)常會出錯,建議看看出錯的常見情況:
create or replace function addDept(
f_deptno dept.deptno%type,
f_dname dept.dname%type,
f_loc dept.loc%type
)
return number
as
begin
insert into dept values(f_deptno,f_dname,f_loc);
if sql%found then
return 1;
else
return 0;
end if;
commit;
end;
--創(chuàng)建刪除部門函數(shù)
create or replace function deleteDept(
f_deptno dept.deptno%type
)
return number
as
begin
delete from dept where dept.deptno=f_deptno;
if sql%found then
return 1;
else
return 0;
end if;
end;
聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com