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

Oracle Insert Select with order by

    ORDER BYの使用 INSERT SELECT無意味ではない 挿入されたデータの内容を変更できる限り、つまりシーケンスNEXTVAL SELECTに含まれています 句。そして、これは、挿入された行がフェッチされたときにソートされない場合でも、これがORDER BYの役割です。 SELECTの句 行にアクセスするときの句。

    このような目標については、回避策を使用してORDER BYを配置できます。 サブクエリの句 、そしてそれは機能します:

    INSERT INTO myTargetTable
    (
      SELECT mySequence.nextval, sq.* FROM
        (   SELECT f1, f2, f3, ...fx 
              FROM mySourceTable
             WHERE myCondition
          ORDER BY mySortClause
        ) sq
    )
    


    1. SQLServerで列名またはテーブル名の名前を変更する方法-SQLServer/T-SQLチュートリアルパート36

    2. select from構文を使用せずにMySQLテーブルが存在するかどうかを確認しますか?

    3. SQLServerでテーブル値関数を作成する

    4. SQL Server:5列にわたる動的ピボット