create or replace function f_testfunction_name(
parameterName1 [model1] dateType1,
parameterName2 [model2] dateType2
)
return dateType3
is/as
parameterName3 dateType3
begin
函数体...
end;
解释:
1.f_testfunction_name为新建的函数名称;
2.parameterName1/parameterName2是调用函数的参数名称,parameterName3 是返回值的参数名称;
3.[]中括号中的内容为非必填项,默认为in,model1/model2通常是in/out/in out a.in ,是调用函数时传进来的参数,在这个函数中是只读模式,只能在函数中被引用,而不能被改变
b.out ,是调用函数时准备传出去的参数,在这个函数中是只写模式,这个参数可以被赋值,但不能被引用
c.in out ,可读写,在函数中可被引用也可被改变
4.dateType1/dateType2是调用参数时的参数数值类型,dateType3 是返回值的参数数值类型,比如varchar2/number
示例1:
create or replace function f_check_student_sex(
v_studentName varchar2,
v_studentID varchar2
)
return number
is v_sexNum number ;
begin
select stu.sex into v_sexNum
from t_student stu
where stu.stuName=v_studentName
and stu.stuID=v_studentID
end;