Skip to main content
2 of 5
deleted 9 characters in body; edited tags
Philᵀᴹ
  • 31.9k
  • 10
  • 84
  • 108

PLSQL: Package sproc cannot call exe imediate statement

I'm working with oracle 11g R2.

I have a package/procedure that has the rights to preform a selection statement on another schema's table.

So I can call the below with no issues.

select * from SchemaA.TableA where blah

I need to be able to run this call from dynamic sql, because the table from SchemaA could be any of 10. I created the below sql. I get ORA-01031: insufficient privileges when I run the same statement but with execute immediate.

v_query varchar2(2000); 
v_query := 'select id, value1, value2 from SchemaA. ' || TableName || ' where id = ' || id;

execute immediate v_query ;

I know that the package does not get the user roles, so I even put the following code into the signature of my package AUTHID CURRENT_USER ; which changed nothing.

What other permissions do I need to set in order to do this? OR if you have another solution for dynamic table selection, that would be great too.

Omnia9
  • 103
  • 5