Oracle
 sql >> Database >  >> RDS >> Oracle

Hai bisogno di aiuto per eseguire la query di aggiornamento immediato

Suppongo che col_id sia la chiave primaria. Quindi nella dichiarazione di aggiornamento

EXECUTE IMMEDIATE 'UPDATE  ' || dest || ' SET COUNTRY_CODE = :v1 WHERE col_id = :v2'
          USING l_vc_CountryCode, l_vc_ColId;

stai sempre aggiornando al massimo una riga e quindi la condizione

SQL%ROWCOUNT > 1

non è mai vero ( 1 non è> 1 )

Quindi, se non hai nessun'altra dichiarazione di commit nella tua procedura, non commetterai mai quegli aggiornamenti.

A proposito:qual è lo scopo di questo

if SQL%ROWCOUNT > 1 THEN
          inserts := inserts + 1;
          counter := counter + 1;
          IF counter > 500 THEN
            counter := 0;
            COMMIT;
          END IF;
        END IF;

perché non ti impegni solo alla fine del tuo lavoro?