Trabajo en un proyecto desarrollado en C# y Oracle 11g, en el cual manejo a nivel BD "PACKAGES" los cuales me traen loco pues la mayoria me esta arrojando los siguientes errores:
Error(8,4): PL/SQL: Declaration ignored
Error(8,52): PLS-00201: el identificador 'VM_ESTADOS.C_ESTADO' se debe declarar
A continuacion pongo el código del Paquete para que puedan ayudarme:
PACKAGE:
Código:
create or replace PACKAGE "PKGVM_ESTADOS" AS /*Tipo que retorna un conjunto de filas para ser manipuladas desde VS2008*/ TYPE TypeCursor IS REF CURSOR; /*Selecciona Vm_estados*/ FUNCTION fun_selectVm_estados (c_estado_in IN vm_estados.c_estado%TYPE, d_estado_in IN vm_estados.d_estado%TYPE) RETURN TypeCursor; /*Selecciona Vm_estados por id de póliza*/ FUNCTION fun_selectVm_estadosByPoliza ( id_poliza_in IN descuentos_x_zona.id_poliza%TYPE) RETURN TypeCursor; END PKGVm_estados;
PACKAGE BODY:
Código:
¿que será que estoy haciendo mal...? ya le he dado vueltas y vueltas y no se me vienen a la mente nada para solucionarlo , ojalá que puedan ayudarme...create or replace PACKAGE BODY "PKGVM_ESTADOS" AS /*Selecciona Vm_estados*/ FUNCTION fun_selectVm_estados (c_estado_in IN vm_estados.c_estado%TYPE, d_estado_in IN vm_estados.d_estado%TYPE) RETURN TypeCursor AS l_consulta TypeCursor; BEGIN OPEN l_consulta FOR SELECT c_estado, d_estado FROM vm_estados WHERE 1 = 1 AND (c_estado_in IS NULL OR c_estado = c_estado_in) AND (d_estado_in IS NULL OR d_estado LIKE '%' || d_estado_in || '%'); RETURN l_consulta; END fun_selectVm_estados; /*Selecciona Vm_estados por id de póliza*/ FUNCTION fun_selectVm_estadosByPoliza ( id_poliza_in IN descuentos_x_zona.id_poliza%TYPE) RETURN TypeCursor AS l_consulta TypeCursor; BEGIN OPEN l_consulta FOR SELECT DISTINCT VME.c_estado, VME.d_estado FROM vm_estados VME INNER JOIN detalle_zona DZ ON VME.c_estado = DZ.c_estado INNER JOIN descuentos_x_zona DXZ ON DZ.id_zona = DXZ.id_zona WHERE DXZ.id_poliza = id_poliza_in ORDER BY VME.d_estado; RETURN l_consulta; END fun_selectVm_estadosByPoliza; END PKGVm_estados;
Saludos y gracias!