这可能是一个容易犯的错误,但我仍然无法发现它。 使用我的sec_admin架构,我可以运行以下命令:
SELECT count(*) FROM sys.dba_policies;
哪个输出1
现在我想使用以下方法创建一个过程:
create or replace PROCEDURE pr_add_policy_row
IS
num NUMBER := 0;
BEGIN
SELECT count(*)
INTO num
FROM sys.dba_policies;
END pr_add_policy_row;
但它给了我这个错误:
Error(6,7): PL/SQL: SQL Statement ignored
Error(8,18): PL/SQL: ORA-00942: table or view does not exist
我在这里做错了什么?
谢谢!
答案 0 :(得分:2)
要从过程中的表格或视图中select
,您需要select
权限with grant option
。让DBA授予你
GRANT SELECT ON sys.dba_policies TO user3019499 WITH GRANT OPTION;