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

Използвайте резултата от Bulk Collect в заявка за избор без курсор

Не, не може да стане по този начин. Вместо това използвайте израза FORALL.
Прочетете това:http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/forall_statement.htm#LNPLS01321

Пример:

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;
/

демонстрация: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. Oracle Trigger на вложена таблица

  2. Как да предадете булев параметър на процедурата на Oracle C#

  3. Вмъкване на редове (родител и деца) програмно

  4. Какъв би бил най-добрият метод за мигриране на база данни на Oracle към MS Access с помощта на Java?

  5. Търсене в таблицата тип записи