Oracle
 sql >> Base de données >  >> RDS >> Oracle

Besoin d'aide pour exécuter une requête de mise à jour immédiate

Je suppose que col_id est la clé primaire. Donc, dans la déclaration de mise à jour

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

vous mettez toujours à jour au plus une ligne et donc la condition

SQL%ROWCOUNT > 1

n'est jamais vrai ( 1 n'est pas> 1 )

Donc, si vous n'avez aucune autre instruction de validation dans votre procédure, vous ne validerez jamais ces mises à jour.

Au fait :quel est le but de ce

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

pourquoi ne vous engagez-vous pas simplement à la fin de votre travail ?