sql >> Databáze >  >> RDS >> Oracle

Potřebujete pomoc s provedením okamžitého aktualizačního dotazu

Předpokládám, že col_id je primární klíč. Tedy v prohlášení o aktualizaci

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

vždy aktualizujete maximálně jeden řádek a tím podmínku

SQL%ROWCOUNT > 1

není nikdy pravda ( 1 není> 1 )

Pokud tedy ve své proceduře nemáte žádný jiný příkaz k potvrzení, nikdy tyto aktualizace neodsouhlasíte.

Mimochodem:jaký je účel tohoto

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

proč se na konci své práce prostě nezavázat?



  1. Vylepšení dotazu pomocí velkého množství vnitřních spojení s tabulkou klíč/hodnota wp_postmeta

  2. Vypočítejte průměr sloupce z dotazu MYSQL

  3. SQL - Aktualizace více záznamů v jednom dotazu

  4. Vytvoření CTE v Oracle