Twój kod powinien wyglądać tak:
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');
Jednak to nie zadziała, ponieważ określiłeś tylko jedną zmienną wiązania (:REF_ID
), ale podałeś dwie wartości (i.CUSTOMER_REF_ID
i i.CUSTOMER_ID
). Zmienne i wartości wiązania muszą się zgadzać.
Jeśli SQL%ROWCOUNT
zwraca "1", a następnie zaktualizowałeś jeden wiersz - sprawdź instrukcję UPDATE, jeśli nie jesteś z tego zadowolony.