sql >> Databáze >  >> RDS >> PostgreSQL

Proměnná obsahující počet řádků ovlivněných předchozím DELETE? (ve funkci)

V Oracle PL/SQL je systémová proměnná pro uložení počtu odstraněných / vložených / aktualizovaných řádků:

SQL%ROWCOUNT

Po příkazu DELETE / INSERT / UPDATE a BEFORE COMMITTING můžete uložit SQL%ROWCOUNT do proměnné typu NUMBER. Pamatujte, že COMMIT nebo ROLLBACK resetuje hodnotu SQL%ROWCOUNT na NULU, takže musíte zkopírovat hodnotu SQL%ROWCOUNT do proměnné BEFORE COMMIT nebo ROLLBACK.

Příklad:

BEGIN
   DECLARE
      affected_rows   NUMBER DEFAULT 0;
   BEGIN
      DELETE FROM feeds_item
            WHERE shareurl = re1;

      affected_rows := SQL%ROWCOUNT;
      DBMS_OUTPUT.
       put_line (
            'This DELETE would affect '
         || affected_rows
         || ' records in FEEDS_ITEM table.');
      ROLLBACK;
   END;
END;

Našel jsem také toto zajímavé ŘEŠENÍ (zdroj:http://markmail.org/message/grqap2pncqd6w3sp )



  1. Databáze Oracle:Jak číst BLOB?

  2. konkrétní aktualizace mysql na základě skupiny podle dat

  3. Wordpress vlastní databázová tabulka nebyla rozpoznána

  4. pg_dump:neplatná volba -- i při migraci