+1 voto
394 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 (1.9k punti)
Bene, grazie per averci aggiornato!

Domande correlate

0 voti
0 risposte 5 visite
quesito posto 4 giorni fa in SQL e PLSQL da Ocì (120 punti)
0 voti
1 risposta 38 visite
0 voti
1 risposta 87 visite
quesito posto 4 Dicembre 2017 in SQL e PLSQL da stellare21 (150 punti)
+1 voto
1 risposta 244 visite
...