ciao!
sto cercando di creare una Stored Procedure in Oracle, che a seconda del risultato di una query, ne esegue un'altra.
in sostanza:
codice:
create or replace PROCEDURE SP_B2B_UBICAZ_CLIENTE (
IN_NPU IN NUMBER
) IS
COUNT_RECORD NUMBER;
NPU NUMBER;
BREVE CHAR(16);
RAG_SOC VARCHAR2(64);
CODICE_ATTRIB VARCHAR(12);
VALORE VARCHAR(100);
BEGIN
SELECT COUNT(*) INTO COUNT_RECORD
FROM GEN_ATTRIB_ESTESI GAE
INNER JOIN GEN_ANAG GEN ON GAE.NPU = GEN.NPU
WHERE
GAE.DITAGENDA = 'XXL'
AND GEN.NPU = IN_NPU
AND GAE.CODICE_ATTR LIKE 'UBICAZ%'
AND GEN.DITAGENDA = 'XXL'
AND GEN.FVL = ' '
ORDER BY GEN.RAGSOC;
IF COUNT_RECORD > 0 THEN
SELECT
GEN.NPU,
GEN.BREVE,
GEN.RAGSOC,
GAE.CODICE_ATTR,
GAE.VALORE VALORE
INTO
NPU,
BREVE,
RAG_SOC,
CODICE_ATTRIB,
VALORE
FROM GEN_ATTRIB_ESTESI GAE
INNER JOIN GEN_ANAG GEN ON GAE.NPU = GEN.NPU
WHERE
GAE.DITAGENDA = 'XXL'
AND GEN.NPU = IN_NPU
AND GAE.CODICE_ATTR LIKE 'UBICAZ%'
AND GEN.DITAGENDA = 'XXL'
AND GEN.FVL = ' '
ORDER BY GEN.RAGSOC;
ELSE
SELECT
GEN.NPU NPU,
GEN.BREVE BREVE,
GEN.RAGSOC RAGSOC,
'' ATTRIB,
'' VALORE
INTO
NPU,
BREVE,
RAG_SOC,
CODICE_ATTRIB,
VALORE
FROM GEN_ANAG GEN
WHERE
GEN.NPU = IN_NPU
AND GEN.DITAGENDA = 'XXL'
AND GEN.FVL = ' '
ORDER BY GEN.RAGSOC;
END IF;
END SP_B2B_UBICAZ_CLIENTE;
il problema è che mi da che è stata compilata correttamente, ma non riesco a capire come richiamarla per vedere il result set.
quindi non capisco se la richiamo in maniera errata, oppure la SP è sbagliata.
qualche idea??