日期:2014-05-16  浏览次数:20421 次

oracle 函数授权问题(00904 标识符无效)

如果在一个schema下建立函数,例如在A下建立函数function test()。然后要在B下使用。我执行了? GRANT EXECUTE ON "A"."test" TO "B";这样后在B用户使用A.test()是可以,但是使用test()会包ora的00904 标识符无效的错误。解决方法为create or replace public synonym test for A.test;
GRANT EXECUTE ON??test to public;即建立同义词,然后把同义词授权。同义词嘛,就是别名,有点像快捷方式。