Código SQL:
Esta consulta recibe el valor de numero_orden por teclado, el problema es que necesito por requerimiento usar esta consulta en un SP:Ver original
SELECT DISTINCT ir.id_llamada_mac ,ei.ID_ORDEN FROM PO_call@dbl_po pc, INSERTA_RECLAMO ir, po_simple_area@dbl_po psa, po_order@dbl_po PO, etr_incidencia ei WHERE ir.ID_LLAMADA = PC.id AND ei.NUMERO_ORDEN = numero_orden AND ir.NUMERO_CONTACTO != '0' AND PO.SIMPLE_AREA_ID = PSA.ID AND PO.incident_id = PC.incident_id AND ei.ID_ORDEN = PO.ID;
Código SQL:
Ver original
DROP PROCEDURE MAC.SPA_OBT_NUM_LLAMADAS; CREATE OR REPLACE PROCEDURE SPA_OBT_NUM_LLAMADAS ( numero_orden NUMBER, p_cursor OUT SYS_REFCURSOR ) IS BEGIN OPEN p_cursor FOR SELECT DISTINCT ir.id_llamada_mac ,ei.ID_ORDEN FROM PO_call@dbl_po pc, INSERTA_RECLAMO ir, po_simple_area@dbl_po psa, po_order@dbl_po PO, etr_incidencia ei WHERE ir.ID_LLAMADA = PC.id AND ei.NUMERO_ORDEN = numero_orden AND ir.NUMERO_CONTACTO != '0' AND PO.SIMPLE_AREA_ID = PSA.ID AND PO.incident_id = PC.incident_id AND ei.ID_ORDEN = PO.ID; CLOSE p_cursor; END SPA_OBT_NUM_LLAMADAS;
Pero el resultado no es el mismo, cuando realizo la consulta fuera del sp con numero orden como '1287571-1', me trae 6 datos (que son los que debería traer), pero si lo hago con el sp, me trae todos los datos como, como si no tomara la condición del WHERE.
Por que puede ser? espero que pueda ayudarme...saludos