terça-feira, 3 de janeiro de 2012

Criar Objeto TYPE no Oracle 11g

Criar Objeto TYPE no Oracle 11g

Para a criação de procedure com retorno de multiplas linhas é necessário criar um ou mais objetos TYPE no Oracle 11g.

Perdi um bom tempo lidando com erros de compilação na minha procedure, com o compilador considerando meu TYPE como not Declared.
Seguindo os padrões da Empresa de criação de objetos no banco de dados fiz algo assim:


CREATE OR REPLACE TYPE      "tpDescricao01Descricao02"  

AS OBJECT
( cdColuna01 NUMBER(10),
cdColuna02 NUMBER(10),
cdColuna03 NUMBER(10) );


O nome está alternando maiusculas e minusculas. Até ai tudo bem, o compilador do Oracle aceita e cria o objeto TYPE.
No entanto, ao tentar usar em uma procedure, a mesma não compila.

Erro(1,81): PLS-00201: identifier 'TPDESCRICAO01DESCRICAO02' must be declared

SOLUÇÃO:
Sempre criar os nomes de objeto TYPE com letras maiúsculas, pois o Oracle faz um UPPERCASE para trabalhar com os TYPES.

Nenhum comentário:

Postar um comentário