Duvida como executar package com retorno type erro ora-06550 : line 16 column 5 : PLS-00312 a positi

1 resposta
P
create or replace TYPE REG_LISTA 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)
)
---
create or replace type table_lista is table of reg_lista

---
create or replace package pack_agn_0005 as

  /* TODO enter package declarations (types, exceptions, methods etc) here */
procedure proc_faixa_horario (p_posto in number , p_numero_dia in number , p_dia_disponivel in number , p_lista out TABLE_LISTA);

end pack_agn_0005;





DECLARE
  P_POSTO NUMBER;
  P_NUMERO_DIA NUMBER;
  P_DIA_DISPONIVEL NUMBER;
  p_lista  TABLE_LISTA ;
   
BEGIN
  P_POSTO := 1;
  P_NUMERO_DIA := 1;
  P_DIA_DISPONIVEL := 0;
  p_lista :=TABLE_LISTA();
  PACK_AGN_0005.PROC_FAIXA_HORARIO(
    P_POSTO => P_POSTO,
    P_NUMERO_DIA => P_NUMERO_DIA,
    P_DIA_DISPONIVEL => P_DIA_DISPONIVEL,
    p_lista
  );
END;

-- erro

ora-06550 : line 16 column 5 : PLS-00312 a position parameter association may not follow a name

1 Resposta

R

Na chamada da procedure de sua package, como você nomeou todos os parâmetros, o último (p_lista) também deve estar nomeado (P_LISTA => p_lista). Ou você passa todos os parâmetros por posição ou você passa todos pelo nome.

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