+1 voto
406 visite
quesito posto in SQL e PLSQL da (170 punti)

ciao a tutti, sto provando a creare una procedure per scrivere righe di log in un clob.

PROCEDURE prLOBLOGGING( pinPROCNAME  IN  VARCHAR2, pouLOBOBJ  OUT  CLOB, pinMESSAGE  IN  VARCHAR2 )
IS
  vLN    CHAR( 1 ) := chr(10);
  vMSG   VARCHAR2( 200 );
  vNOW   VARCHAR2( 15 );
  vSEP   VARCHAR2( 5 ) := '.';
  vCLOB  CLOB;
  iVAL   INTEGER;
BEGIN
  vNOW := to_char( sysdate, 'YYYYMMDD' || vSEP || 'HH24MISS' );
  vMSG := vNOW || vSEP || rpad( pinPROCNAME, 30, ' ' ) || vSEP || pinMESSAGE || vLN;
 
  dbms_lob.createtemporary( pouLOBOBJ, false, dbms_lob.session  );
  dbms_lob.append( pouLOBOBJ, vMSG );
END;
 
ma se la chiamo dall'esterno cosi :
 
prLOBLOGGING( 'spMyStore', vCLOB, 'Inizio del log..' );
prLOBLOGGING( 'spMyStore', vCLOB, 'fine del log!' );
 
all'interno della variabile vCLOB c'è solo l'ultima riga scritta "fine del log!" e non capisco come mai anche avendo settato il parametro a session!
 
qualche aiuto?

 

1 Risposta

0 voti
risposta inviata da (170 punti)

ho risolto eseguendo questa :

dbms_lob.createtemporary(

solo se la istemporary ritorna null e mettendo il parametro clob come "in out"

:)

 

 
commentato da (2.1k punti)
Bene, grazie per averci aggiornato!

Domande correlate

0 voti
1 risposta 26 visite
0 voti
1 risposta 40 visite
quesito posto 11 Settembre in SQL e PLSQL da niroantonio (120 punti)
0 voti
1 risposta 43 visite
quesito posto 21 Agosto in SQL e PLSQL da brunoalfonsi (120 punti)
0 voti
1 risposta 107 visite
quesito posto 13 Luglio in SQL e PLSQL da Ocì (120 punti)
0 voti
1 risposta 132 visite
...