Estou usando o TOAD para criar um pacote em um esquema que tenho como proprietário. Meu pacote usa tabelas de outro esquema.
O pacote tem um procedimento que usa um cursor. Quando crio o pacote, recebo erros de compilação:
Corpo 509 30 PL/SQL: ORA-00904:: identificador inválido
O erro aponta para uma tabela que o select do Cursor está utilizando e que está localizada no outro Schema.
Se eu executar a consulta diretamente no TOAD funciona perfeitamente, sou novo no Oracle e não entendo porque recebo esse erro. Por que estou recebendo esse erro?
Da seção "6 Coding PL/SQL Subprograms and Packages" no "Oracle Database Advanced Application Developer's Guide, 11g Release 2 (11.2), E41502-05"
Você deve ter concedido permissão de seleção nesta tabela para o esquema que possui o pacote. É importante que essas permissões sejam concedidas diretamente ao proprietário do pacote e não indiretamente usando uma função. Usar uma função é suficiente para selecionar a tabela diretamente pelo Toad, mas não é suficiente se você deseja selecionar a tabela em um pacote.