sql >> Databasteknik >  >> RDS >> Oracle

Behöver hjälp med att utföra en omedelbar uppdateringsfråga

Jag antar att col_id är den primära nyckeln. Så i uppdateringsförklaringen

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

du uppdaterar alltid högst en rad och därmed villkoret

SQL%ROWCOUNT > 1

är aldrig sant ( 1 är inte> 1 )

Så om du inte har något annat commit statement i din procedur kommer du aldrig att begå dessa uppdateringar.

Förresten:vad är syftet med detta

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

varför förbinder du dig inte bara i slutet av ditt arbete?



  1. Oracle och Left Outer Join

  2. Sqlite eller MySql? Hur bestämmer man sig?

  3. Hur använder du skriptvariabler i psql?

  4. R12.2 Bestämning och konfiguration av upplaga