5 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
16.自定義函數(shù)
自定義函數(shù)語(yǔ)法:
CREATE OR REPLACE FUNCTION 函數(shù)名
RETURN 返回值類型
IS
聲明部分;
BEGIN
函數(shù)體;
RETURN 變量;
END;
函數(shù)與存儲(chǔ)過(guò)程的區(qū)別:
(1)語(yǔ)法上除了創(chuàng)建對(duì)象的關(guān)鍵字不同之外,函數(shù)還多了一個(gè)RETURN關(guān)鍵字,它確定了該函數(shù)返回值的數(shù)據(jù)類型.
(2)存儲(chǔ)過(guò)程可以沒(méi)有返回值,但函數(shù)必須有返回值,即使發(fā)生異常也要返回.
(3)函數(shù)與標(biāo)準(zhǔn)SQL結(jié)合性更好,帶OUT型參數(shù)的存儲(chǔ)過(guò)程必須用PL/SQL方式調(diào)用,而函數(shù)均可以通過(guò)標(biāo)準(zhǔn)SQL調(diào)用.
注: (1)函數(shù)返回值只提供返回值類型,不允許有長(zhǎng)度.
(2)使用函數(shù)必須接收返回值.
樣例:
create or replace function getSal(v_empno varchar)
return number
is
v_sal number(4);
begin
select sal into v_sal from emp where empno=v_empno;
return v_sal;
end;
調(diào)用: (1) select getsal(7499) from dual;
(2) declare
v_sal number(4);
begin
v_sal:=getsal(7499);
dbms_output.put_line(v_sal);
end;
17.函數(shù)的刪除
語(yǔ)法: DROP FUNCTION 函數(shù)名;

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
添加回答
舉報(bào)