test 用户创建函数:
create or replace function get_sal(name1 varchar2)
return number is
v_sal number(6,2);
begin
select sal into v_sal from emp where upper(ename)=upper(name1);
return v_sal;
end;
SQL> select object_name,object_type from user_objects;
OBJECT_NAME OBJECT_TYPE
------------------------------ -------------------
XX PROCEDURE
V VIEW
EMP_1 TABLE
DEPT_1 TABLE
EMPLOYEES TABLE
ORDERS TABLE
DUPES TABLE
EMP2 TABLE
GET_SAL FUNCTION
A1 TABLE
TEST TABLE
SQL> conn / as sysdba
已连接。
SQL> create user fun identified by fun;
用户已创建。
SQL> grant connect,resource to fun;
授权成功。
SQL> grant execute on test.get_sal to fun;
授权成功。
SQL> conn fun/fun
已连接。
SQL> select test.get_sal('scott') from dual;
TEST.GET_SAL('SCOTT')
---------------------
3000