作为用户
作为
然而,这段代码编译失败并显示如下错误信息:
然后我得到:
如果我授予
User1
,我拥有以下表格:CREATE TABLE USER1.test ( id NUMBER );
作为
User2
,我有以下步骤:CREATE PROCEDURE USER2.passInATestId(
in_id USER1.TEST.ID%TYPE
)
IS
BEGIN
NULL;
END;
/
然而,这段代码编译失败并显示如下错误信息:
PLS-00201: identifier 'USER1.TEST' must be declared
如果我授予REFERENCES
权限
GRANT REFERENCES ON USER1.TEST TO USER2;
然后我得到:
PLS-00904: insufficient privilege to access object USER1.TEST
如果我授予
SELECT
权限,那么它将编译 - 但是,User2
可以在表上执行选择操作,而我不希望他们直接这样做。是否有一种权限可以让我引用列的类型,而无需同时授予从表中进行SELECT
的能力?
in_id number
作为参数定义。 - user330315