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

Sử dụng kết quả Thu thập hàng loạt trong một truy vấn chọn lọc mà không có con trỏ

Không, nó không thể được thực hiện theo cách này. Sử dụng câu lệnh FORALL để thay thế.
Đọc phần này: http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/forall_statement.htm#LNPLS01321

Một ví dụ:

Declare
  type result_bulk_type is Table of table1.ID%type;
  result_bulk result_bulk_type;
BEGIN
  SELECT id BULK COLLECT INTO result_bulk FROM table1;
  FORALL i IN INDICES OF result_bulk
    UPDATE table2 SET status=1 WHERE id = result_bulk( i );
END;
/

demo: http://sqlfiddle.com/#!4/b3a72/1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình kích hoạt Oracle SQL để tự động đặt giá trị cột

  2. Giải pháp của trình kích hoạt dễ dàng này

  3. Chuỗi ngẫu nhiên SQL từ danh sách

  4. chúng ta có thể thực hiện lệnh unix từ thủ tục oracle10g không

  5. PLSQL TRƯỜNG HỢP KHI CÓ ĐIỀU KIỆN