Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Rufen Sie die Anzahl der aktualisierten Zeilen ab

Ihr Code sollte so aussehen:

l_sql := 'UPDATE '||l_prefix||'CRS_CUSTOMERS SET CUSTOMER_SOURCE_REF_ID = :REF_ID';
EXECUTE IMMEDIATE l_sql USING i.CUSTOMER_REF_ID, i.CUSTOMER_ID;
dbms_output.put_line('Updated ' || SQL%ROWCOUNT || ' rows');

Es funktioniert jedoch nicht, da Sie nur eine Bindungsvariable angegeben haben (:REF_ID ), aber Sie haben zwei Werte angegeben (i.CUSTOMER_REF_ID und i.CUSTOMER_ID ). Bind-Variablen und -Werte müssen übereinstimmen.

Wenn SQL%ROWCOUNT gibt "1" zurück, dann haben Sie eine Zeile aktualisiert - überprüfen Sie Ihre UPDATE-Anweisung, wenn Sie damit nicht zufrieden sind.