存储函数就是用户自定义函数,接收一个或多个参数,然后返回结果。函数中可以使用pl/sql进行逻辑处理,pl/sql中可以进行函数调用。
- 语法:
create or replace function 函数名称
(参数1 参数类型,参数2 参数类型....)
return 返回值数据类型
is
--声明变量部分
begin
--逻辑处理部分
return 要返回的变量;
[exception
异常处理]
end;
- 示例
create or replace function fun_getclassname(v_stu_id number)
return varchar2 --注意:只写类型不写长度
is
v_classid class.id%type;
v_classname class.name%type;
begin
--通过学生编号获得对应的班级id
select class_id into v_classid from students where stu_id = v_stu_id;
--通过班级id获得班级名称
select name into v_classname from class where id = v_classid;
return v_classname;
end;
- 测试函数
select fun_getclassname(1005) as class from dual;