Jcat
          寵辱不驚,閑看庭前花開花落~~
          posts - 173,comments - 67,trackbacks - 0
          Most INSERT statements are the single-table variety, but Oracle also supports a multiple-table INSERT statement. With a multitable insert, you can make a single pass through the source data and load the data into more than one table.

          [ ALL | FIRST ]
          WHEN condition THEN insert_into_clause [values_clause]
          [insert_into_clause [values_clause]]...
          [WHEN condition THEN insert_into_clause [values_clause]
          [insert_into_clause [values_clause]]...
          ]...
          [ELSE insert_into_clause [values_clause]
          [insert_into_clause [values_clause]]...
          ]

          If a WHEN condition evaluates to TRUE, the corresponding INTO clause is executed. If no WHEN condition evaluates to TRUE, the ELSE clause is executed. The keyword ALL tells the database to check each WHEN condition. On the other hand, the keyword FIRST tells the database to stop checking WHEN conditions after finding the first TRUE condition.


          --test?case
          create?table?insert_test_case
          (
          id?
          number(1)
          )

          create?table?insert_test01
          (
          id?
          number(1)
          )

          create?table?insert_test02
          (
          id?
          number(1)
          )

          create?table?insert_test03
          (
          id?
          number(1)
          )

          insert?into?insert_test_case?values(1)
          insert?into?insert_test_case?values(2)
          insert?into?insert_test_case?values(3)
          insert?into?insert_test_case?values(4)
          insert?into?insert_test_case?values(5)


          --3 rows inserted
          insert?first?
          ??
          when?id=1?then?into?insert_test01?values(id)
          ??
          when?id=2?then?into?insert_test02?values(id)
          ??
          when?id=3?then?into?insert_test03?values(id)
          select?id?from?insert_test_case

          --3 rows inserted
          insert?all
          ??
          when?id=1?then?into?insert_test01?values(id)
          ??
          when?id=2?then?into?insert_test02?values(id)
          ??
          when?id=3?then?into?insert_test03?values(id)
          select?id?from?insert_test_case


          --1 rows inserted
          insert?first
          ??
          when?id=1?then?into?insert_test01?values(id)
          ??
          when?id=1?then?into?insert_test02?values(id)
          ??
          when?id=1?then?into?insert_test03?values(id)
          select?id?from?insert_test_case

          --3 rows inserted
          insert?all
          ??
          when?id=1?then?into?insert_test01?values(id)
          ??
          when?id=1?then?into?insert_test02?values(id)
          ??
          when?id=1?then?into?insert_test03?values(id)
          select?id?from?insert_test_case
          posted on 2006-12-13 13:32 Jcat 閱讀(278) 評論(0)  編輯  收藏 所屬分類: Database
          主站蜘蛛池模板: 清徐县| 乌鲁木齐县| 加查县| 东明县| 开化县| 融水| 云梦县| 嘉兴市| 蒙自县| 观塘区| 九龙坡区| 三明市| 奉节县| 上思县| 神木县| 堆龙德庆县| 星子县| 侯马市| 桃园县| 重庆市| 宜宾县| 呼玛县| 新源县| 井研县| 杭州市| 尉犁县| 吉水县| 景泰县| 望奎县| 三原县| 辽宁省| 肇庆市| 普洱| 衡水市| 大新县| 萨嘎县| 皋兰县| 禄劝| 永和县| 武义县| 东台市|