Ajuda no uso type no Oracle erro Error(6,21): PLS-00306: wrong number or types of arguments in call

1 resposta
P

Olá,

estou com duvida no uso acima … o que fazer …

abs

create or replace TYPE LISTADIAS as object
(
DC_SEMANA	VARCHAR2(30),
HR_INICIAL	VARCHAR2(20),
HR_FINAL	VARCHAR2(20),
NU_INTERVALO VARCHAR2(5),
DT_DIA       VARCHAR2(10),
HR_DIA_INTERVALO  VARCHAR2(20)
)

-------

function GETPEPS (CD_FILIAL in NUMBER, CD_PRODUTO in NUMBER, QT_ITEM in NUMBER) RETURN LISTADIAS as
l_data LISTADIAS := LISTADIAS();
BEGIN

 null;
END;

--erro
Error(6,21): PLS-00306: wrong number or types of arguments in call to 'LISTADIAS'

1 Resposta

R

Na sua função, quando você declara a variável do tipo que você criou, você precisa iniciar os parâmetros do tipo.

l_data LISTADIAS := LISTADIAS(null,null,null,null,null,null);

Nessa inicialização você já pode preencher os valores se quiser.

O que pode interferir nisso também é a criação de um construtor para o tipo, aí você pode inicializar apenas os parâmetros que tem no construtor.

Mas aí o assunto se estende um pouco, por isso vou passar um link de referência:

http://www.psoug.org/reference/type.html

Qualquer coisa posta aí.

Criado 8 de julho de 2009
Ultima resposta 8 de jul. de 2009
Respostas 1
Participantes 2