PL/SQL: Item ignored, PLS-00201, PLS-00302, ORA-06550

Alguns códigos PL/SQL podem não encontrar o próprio OWNER dentro da aplicação.

Procedimento abaixo mostra como a solução é simples para quando um código PL não encontra objetos do próprio schema.

CREATE TABLE lana.user1 (x NUMBER);

Table created

DECLARE
x lana.user1.x%TYPE;
BEGIN
NULL;
END;
/

ORA-06550: line 3, column 12:
PLS-00302: component 'LANA' must be declared
ORA-06550: line 3, column 6:
PL/SQL: Item ignored

Observe que o código pl/sql não reconheceu o owner, o que é estranho pois não precisamos identificar o owner dentro do código.

SQL> DECLARE
x user1.x%TYPE;
BEGIN
NULL;
END;
/

PL/SQL procedure successfully completed.
SQL> conn / as sysdba
Connected.
SQL> CREATE OR REPLACE SYNONYM LANA FOR LANA.LANA;

Synonym created.

Você é obrigado a criar o sinônimo referenciando um owner de um outro owner obviamente.

DECLARE
x lana.user1.x%TYPE;
BEGIN
NULL;
END;
/
PL/SQL procedure successfully completed
%name PL/SQL: Item ignored, PLS 00201, PLS 00302, ORA 06550

Autor: Leandro Lana

Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G e 12C.

Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server e DB2.

Contato: leandro.lana@migrati.com.br

Fone: (47) 9191-6052 / (47) 3328 0996

Certificações:

OCA 10G.

OCP 10G.

OCE Linux.

OCE RAC/Cluster.

MCP SQL-Server 2008.

MCITP SQL-Server 2008.

DB2 Fundamentals.