自定义无参函数:
create or replace
function getcount return number
as
booknum number;
begin
select count(*) into booknum from t_region_resources;
return booknum;
end;
测试:
set serveroutput on;
declare booknum number;
begin
booknum:=getcount();
dbms_output.put_line(booknum);
end;
带参数的自定义函数
create or replace function gettablecount(tablename varchar2) return number is
sqlstr varchar2(40);
booknum number;
begin
sqlstr:='select count(*) from '||tablename;
execute immediate sqlstr into booknum;
return booknum;
end;
调用测试:
declare num number;
begin
num:=gettablecount('t_region_codes');
dbms_output.put_line(num);
end;
用Oracle SQL Developer客户端点击运行也会生成执行程序:
DECLARE
TABLENAME VARCHAR2(200);
v_Return NUMBER;
begin
TABLENAME := 't_region_codes';
v_Return := GETTABLECOUNT(
TABLENAME => TABLENAME
);
DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return);
:v_Return := v_Return;
END;
关于客户端生成的测试程序:v_Return:=v_Return为什么左右两边都有冒号,我表示没看懂,希望各位网友能在评论里告诉我下。
Oracle 函数删除:
drop function 函数名称