1.在定义函数时:如果有参数,则参数可有类型但是不加长度。
2.在执行函数: var/variable var_name var_type(如果数据类型是number则没有长度,如果数据类型是varchar2,则可以写长度)
call(此处不能用exec) 函数名(参数) into :var_name;
举例:
SQL>var dd varchar2
SQL>call get_sal(7788) into :dd;
执行oracle函数的四种方法: 首先,创建函数fun_stu:
create or replace function fun_stu(iname varchar2) return varchar2 is
r varchar2(20);
begin
select s.value into r from student s where s.name =iname;
return (r);
end;
1.方法一
输入以下语句
SQL> variable a varchar2(20)
SQL> begin
:a:=fun_stu('ba');
end;
/
输出结果:
PL/SQL procedure successfully completed
a
---------
A
输出变量的值
SQL> print a
a
---------
A
2.方法二
输入以下语句
SQL> variable a varchar2(20)
SQL> call fun_stu('ba') into :a;
输出结果
Method called
a
---------
A
输出变量值
SQL> print a
a
---------
A
3.方法三
输入以下语句
SQL> variable a varchar2(20)
SQL> execute :a:=fun_stu('BA');
输出结果
PL/SQL procedure successfully completed
a
---------
C
输出变量值
SQL> print a
a
---------
C
4.方法四
使用sql语句调用
select fun_stu('ba') from dual;
输出结果
A