ciao!
sto cercando di creare una Stored Procedure in Oracle, che a seconda del risultato di una query, ne esegue un'altra.
in sostanza:
il problema è che mi da che è stata compilata correttamente, ma non riesco a capire come richiamarla per vedere il result set.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;
quindi non capisco se la richiamo in maniera errata, oppure la SP è sbagliata.
qualche idea??

Rispondi quotando