当建立一个存储过程或函数后,默认情况下只有创建者和DBA才能对它具有执行权限 ,如果别的用户想要执行,需要授权给他。
grant execute on function_name to dbuser
收回权限
revoke execute on function_name from dbuser
也可以把权限授权给一个角色
grant execute on function_name to all_mis;
或者,如果需要,也可以允许任何使用数据库的用户来运行程序
grant execute on function_name to public
通过user_tab_privs_mdde数据字典查看已经授予的权限,假如另一个用户已经拥有了这个权限,那么还可以给这个存储过程设置一个别名,那么就可以不用每次都加上schema来执行调用了。
create or replace synonym function_name for user.function_name;
删除存储过程或函数包
drop function function_name
drop package package_name;
drop package body package_name;