函数就是有名称的PLSQL代码块
保存在数据库中可以被重复调用的PLSQL代码块
函数有返回值
在表达式中被调用,实现固定的功能
函数的分类
系统预置函数
upper lower initcap lpad rpad substr length instr trim replace
select upper('abc') from dual; 'abc'对于upper这个函数来讲,是输入
ABC 'ABC' 对于upper这个函数来讲是输出
自定义函数
create or replace function get_sal
(v_empno in emp.empno%type)
return number
is
v_sal emp.sal%type:=0;
begin
select sal into v_sal from emp where empno=v_empno;
return(v_sal);
end;
在表达式中调用
SQL> select get_sal(7788) from dual;
GET_SAL(7788)
-------------
3000
监控和管理函数
select OBJECT_NAME,OBJECT_TYPE,STATUS from user_objects where object_type='FUNCTION';
查看函数的创建语句,了解函数实现的功能
select text from user_source where name='GET_SAL';
删除函数
drop function get_sal;
create or replace function f_sal
(v1 in number)
return number deterministic
as
begin
if v1<1000 then return 1;
elsif v1<2000 then return 2;
else return 3;
end if;
end;
使用函数
SQL> select empno,ename,sal,f_sal(sal) from emp;
EMPNO ENAME SAL F_SAL(SAL)
---------- ---------- ---------- ----------
7369 SMITH 800 1
7499 ALLEN 1600 2
7521 WARD 1250 2
7566 JONES 2975 3
7654 MARTIN 1250 2
7698 BLAKE 2850 3
7782 CLARK 2450 3
7788 SCOTT 3000 3
7839 KING 5000 3
7844 TURNER 1500 2
7876 ADAMS 1100 2
7900 JAMES 950 1
7902 FORD 3000 3
7934 MILLER 1300 2
删除函数
drop function f_sal;

2772

被折叠的 条评论
为什么被折叠?



