Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Potrzebujesz pomocy w wykonaniu natychmiastowego zapytania o aktualizację

Przypuszczam, że col_id jest kluczem podstawowym. Więc w oświadczeniu o aktualizacji

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

zawsze aktualizujesz co najwyżej jeden wiersz, a tym samym warunek

SQL%ROWCOUNT > 1

nigdy nie jest prawdziwe ( 1 nie jest> 1 )

Więc jeśli nie masz żadnej innej instrukcji zatwierdzenia w swojej procedurze, nigdy nie zatwierdzisz tych aktualizacji.

Przy okazji:jaki jest cel tego

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

dlaczego po prostu nie zaangażujesz się pod koniec pracy?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lista oddzielona przecinkami w wyniku instrukcji select w Oracle

  2. Pobierz wszystkie rekordy z kursora referencyjnego w pakiecie

  3. Ograniczenie unikatowe Oracle SQL A do B, B do A

  4. PLS-00103:Napotkano symbol końca pliku, gdy oczekiwano jednego z następujących:;

  5. Czy można używać klienta Oracle 11g z serwerem 10g?