oracle into多个变量,Oracle中merge into的使用:该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据....
該命令使用一條語句從一個或者多個數據源中完成對表的更新和插入數據.?ORACLE?9i?中,使用此命令必須同時指定UPDATE?和INSERT?關鍵詞,ORACLE?10g?做了如下改動。
1,insert?和update是可選的
2,UPDATE?和INSERT?后面可以跟WHERE?子句
3,在ON條件中可以使用常量來insert?所有的行到目標表中,不需要連接到源表和目標表
4,UPDATE?子句后面可以跟delete?來去除一些不需要的行。
舉例:
create?table?PRODUCTS
(
PRODUCT_ID?INTEGER,
PRODUCT_NAME?VARCHAR2(60),
CATEGORY?VARCHAR2(60)
);
insert?into?PRODUCTS?values?(1501,?'VIVITAR?35MM',?'ELECTRNCS');
insert?into?PRODUCTS?values?(1502,?'OLYMPUS?IS50',?'ELECTRNCS');
insert?into?PRODUCTS?values?(1600,?'PLAY?GYM',?'TOYS');
insert?into?PRODUCTS?values?(1601,?'LAMAZE',?'TOYS');
insert?into?PRODUCTS?values?(1666,?'HARRY?POTTER',?'DVD');
commit;
create?table?PRODUCTS_new
(
PRODUCT_ID?INTEGER,
PRODUCT_NAME?VARCHAR2(60),
CATEGORY?VARCHAR2(60)
);
insert?into?PRODUCTS_new?values?(1666,?'HARRY?POTTER',?'DVD');
commit;
select?*?from?PRODUCTS;
select?*?from?PRODUCTS_new;
--將PRODUCTS表中的數據導入PRODUCTS_new
MERGE?INTO?PRODUCTS_new?p
USING?PRODUCTS?np
--當p.PRODUCT_ID?=?np.PRODUCT_ID時
ON?(p.PRODUCT_ID?=?np.PRODUCT_ID)
--如果匹配則執行下面sql(update)
WHEN?MATCHED?THEN
UPDATE?SET?p.product_name?=?np.product_name
--如果不匹配則執行下面sql(insert)
WHEN?NOT?MATCHED?THEN
insert?values(np.PRODUCT_ID,np.PRODUCT_NAME,np.CATEGORY);
1.insert?和update 都帶有where?字句:
--將PRODUCTS表中的數據導入PRODUCTS_new
MERGE?INTO?PRODUCTS_new?p
USING?PRODUCTS?np
--當p.PRODUCT_ID?=?np.PRODUCT_ID時
ON?(p.PRODUCT_ID?=?np.PRODUCT_ID)
--如果匹配則執行下面sql(update)
WHEN?MATCHED?THEN
UPDATE?SET?p.product_name?=?np.product_name?WHERE?p.category?=?'DVD'
--如果不匹配則執行下面sql(insert)
WHEN?NOT?MATCHED?THEN
insert?values(np.PRODUCT_ID,np.PRODUCT_NAME,np.CATEGORY)??WHERE?np.category?!=?'BOOKS';
2.無條件的insert:
--將PRODUCTS表中的數據導入PRODUCTS_new
MERGE?INTO?PRODUCTS_new?p
USING?PRODUCTS?np
--無條件insert
ON?(1=0)
--如果匹配則執行下面sql(update)
WHEN?MATCHED?THEN
UPDATE?SET?p.product_name?=?np.product_name
--如果不匹配則執行下面sql(insert)
WHEN?NOT?MATCHED?THEN
insert?values(np.PRODUCT_ID,np.PRODUCT_NAME,np.CATEGORY);
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的oracle into多个变量,Oracle中merge into的使用:该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据....的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab缩小矩阵尺寸,Matlab中
- 下一篇: oracle 获得月最后一天,oracl