我无法通过Aqua Data Studio在Oracle DB中创建存储过程,同时访问其他模式中的数据。我的结构描述:RS系统
CREATE PROCEDURE PROC_Vtest
(v_test_details out SYS_REFCURSOR)
AS
BEGIN
open v_test_details for
SELECT * FROM AS.v_test_table;
END PROC_Vtest;
字符串
错误:ORA-24344:成功,但有编译错误
如何解决这个问题?“
我尝试执行程序,但没有出现错误消息。我希望在Oracle数据库中创建一个存储过程,但数据位于其他人的模式中。
1条答案
按热度按时间zpjtge221#
你能给我一个示例语法来创建一个存储过程在我的模式[RS],但数据位于不同的模式[AS.TableA]
在这种情况下,用户
AS
必须向您的用户(RS
)授予(至少)select
权限。如果您要在命名的PL/SQL过程中使用其他用户的表(这就是您所拥有的),则必须直接向您授予此类授权,而不是通过角色。于是:
字符串
在你自己的模式中,也许你更愿意创建一个函数(或者一个过程,这并不重要):
型