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.