Saya kira col_id adalah kunci utama. Jadi dalam pernyataan pembaruan
EXECUTE IMMEDIATE 'UPDATE ' || dest || ' SET COUNTRY_CODE = :v1 WHERE col_id = :v2'
USING l_vc_CountryCode, l_vc_ColId;
Anda selalu memperbarui paling banyak satu baris dan dengan demikian kondisinya
SQL%ROWCOUNT > 1
tidak pernah benar ( 1 tidak> 1 )
Jadi, jika Anda tidak memiliki pernyataan komit lain dalam prosedur Anda, Anda tidak akan pernah melakukan pembaruan tersebut.
Omong-omong:apa tujuan dari ini
if SQL%ROWCOUNT > 1 THEN
inserts := inserts + 1;
counter := counter + 1;
IF counter > 500 THEN
counter := 0;
COMMIT;
END IF;
END IF;
kenapa kamu tidak berkomitmen saja di akhir pekerjaanmu?