sql >> Database >  >> RDS >> Oracle

PL/SQL die queryresultaten toewijst aan een CLOB

Noteer dit deel in je code:

WHILE cursor1%NOTFOUND

Uw lus wordt nooit uitgevoerd voor een niet-lege dataset. Gebruik dit in plaats daarvan:

WHILE cursor1%FOUND

Of gebruik nog beter de impliciete cursor:

FOR cursor1 in
        (SELECT rec,
               d_id,
               customer,
               wife,
               date_rec,
               special_h,
               g_amount,
               credit_amount,
               a_number,
               a__name
          FROM  (your query here))
LOOP
v_clob :=
               v_clob
            || cursor1.rec
            || ','
            || cursor1.d_id
            || ','
            || cursor1.customer
            || ','
            || cursor1.wife
            || ','
            || cursor1.date_rec
            || ','
            || cursor1.special_h
            || ','
            || cursor1.g_amount
            || ','
            || cursor1.credit_amount
            || ','
            || cursor1.a_number
            || ','
            || cursor1.a__name
            || UTL_TCP.crlf;
END LOOP;


  1. Hoe dynamische kolomnamen te gebruiken in een UPDATE- of SELECT-instructie in een functie?

  2. Oracle SQL DATE-conversieprobleem met iBATIS via Java JDBC

  3. Django-app in Docker-container kan postgres niet vinden

  4. Dynamische SQL-uitvoering in SQL Server