PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Biến chứa số hàng bị ảnh hưởng bởi DELETE trước đó? (trong một hàm)

Trong Oracle PL / SQL, biến hệ thống để lưu trữ số lượng hàng đã xóa / chèn / cập nhật là:

SQL%ROWCOUNT

Sau câu lệnh DELETE / INSERT / UPDATE và TRƯỚC KHI CAM KẾT, bạn có thể lưu trữ SQL% ROWCOUNT trong một biến kiểu NUMBER. Hãy nhớ rằng COMMIT hoặc ROLLBACK được đặt lại thành KHÔNG giá trị của SQL% ROWCOUNT, vì vậy bạn phải sao chép giá trị SQL% ROWCOUNT trong một biến TRƯỚC KHI COMMIT hoặc ROLLBACK.

Ví dụ:

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;

Tôi cũng đã tìm thấy GIẢI PHÁP thú vị này (nguồn: 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. Persistence.createEntityManagerFactory () mất rất nhiều thời gian để trả về

  2. PostgreSQL:Sử dụng câu lệnh AND trong LEFT JOIN không hoạt động như mong đợi

  3. Đang tải các từ dừng từ Postgresql sang Solr6

  4. Phương thức không xác định auto_upgrade! khi đẩy ứng dụng Sinatra / DataMapper lên Heroku

  5. Cách nhóm theo tháng trong PostgreSQL