sql >> データベース >  >> RDS >> Oracle

カーソルなしの選択クエリで結果の一括収集を使用する

    いいえ、この方法で行うことはできません。代わりに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. Mysqldumpは複数のテーブルですか?

    2. Springjdbctemplateバッチ更新高速代替

    3. mysqlで複数の列で並べ替える

    4. 2つの(等しく重要な)列による条件付きMySQLの順序