PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Променлива, съдържаща броя на редовете, засегнати от предишното ИЗТРИВАНЕ? (във функция)

В Oracle PL/SQL системната променлива за съхраняване на броя изтрити/вмъкнати/актуализирани редове е:

SQL%ROWCOUNT

След оператор DELETE / INSERT / UPDATE и ПРЕДИ ИЗПЪЛНЕНИЕ, можете да съхраните SQL%ROWCOUNT в променлива от тип NUMBER. Не забравяйте, че COMMIT или ROLLBACK нулират стойността на SQL%ROWCOUNT, така че трябва да копирате стойността на SQL%ROWCOUNT в променлива ПРЕДИ COMMIT или ROLLBACK.

Пример:

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;

Намерих и това интересно РЕШЕНИЕ (източник:http://markmail.org/message/grqap2pncqd6w3sp )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проблеми с SSL връзката между контейнера go Scratch и контейнера PG. Как да разрешите?

  2. доктрина JSON колона в postgresql съхранява обекти или масиви от едни и същи данни

  3. Нормализиране на Unicode в PostgreSQL 13

  4. страниране и филтриране на много голяма таблица в postgresql (страниране на набор от ключове?)

  5. SQL транспониране на редове като колони