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 閱讀(274) 評論(0)  編輯  收藏 所屬分類: Database
          主站蜘蛛池模板: 临海市| 二连浩特市| 金平| 巴马| 集贤县| 汝州市| 永兴县| 济源市| 招远市| 乌兰浩特市| 南皮县| 乳源| 通山县| 嘉善县| 巴青县| 拜泉县| 昌平区| 北碚区| 宿迁市| 吉木萨尔县| 皮山县| 黑水县| 玉树县| 嘉定区| 玉林市| 尼玛县| 奉贤区| 公安县| 淅川县| 泸州市| 赫章县| 东莞市| 涪陵区| 宁远县| 象州县| 安福县| 武宁县| 永安市| 临汾市| 桐梓县| 安远县|