Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Inseri uma nova proc em um pacote mas o seguinte erro está acontecendo ao executar a aplicação
ORA-06508: PL/SQL: não foi localizada a unidade de programa que está sendo chamada: "LOCAL.PKG_CLIENTE"
Mensagem de erro do SqlDeveloper
O que eu fiz foi
Especificar no cabeçalho junto com uma já existente e depois no body entre o begin e end, coloquei a procedure abaixo da já existente conforme abaixo:
--- CABEÇALHO DO PACOTE
CREATE OR REPLACE PACKAGE PKG_CLIENTE IS
TYPE CURSOR_CLIENTE IS REF CURSOR;
PROCEDURE SP_SELECIONA_CLIENTES(RETORNO OUT CURSOR_CLIENTE);
PROCEDURE SP_SELECIONA_CLIENTES_POR_ID(PD_ID IN CLIENTE.IDCLIENTE%TYPE, RETORNO OUT CURSOR_CLIENTE);
END;
--- BODY
create or replace PACKAGE BODY PKG_CLIENTE IS
PROCEDURE SP_SELECIONA_CLIENTES(RETORNO OUT CURSOR_CLIENTE)
IS
bla bla;
BEGIN
** bla bla;
END;**
PROCEDURE SP_SELECIONA_CLIENTES_POR_ID(P_ID IN CLIENTE.IDCLIENTE%TYPE, RETORNO OUT CURSOR_CLIENTE)
IS
bla bla;
BEGIN
** bla bla;
END;**
END;
Como é feito o procedimento ?
Tem algum exemplo que possa passar o google não tá ajudando muito :(
Aparentemente o erro está só na especificação do parâmetro da procedure
PROCEDURE SP_SELECIONA_CLIENTES_POR_ID(P_ID IN CLIENTE.IDCLIENTE%TYPE, RETORNO OUT CURSOR_CLIENTE)
Na specification está PD_ID IN CLIENTE_FILIAL.CD_CLIE_FILI%TYPE
na body está P_ID IN CLIENTE_FILIAL.CD_CLIE_FILI%TYPE
Deixe os dois parâmetros com o mesmo nome (PD_ID) , dai resolve.
Valew cara obrigado era isso mesmo
Vou tentar ir dormir mais cedo da proxima vez
Bom dia,
Você especificou a PROCEDURE na specification e na body?