关键词不能为空

当前您在: 主页 > 英语 >

merge用法详解

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-07 10:33
tags:

-

2021年2月7日发(作者:frank是什么意思)


Oracle9i


引入了


MERGE

< p>
命令


,


你能够在一个


SQ L


语句中对一个表同时执行


inserts


updates


操作


. MER GE


命令从一个或多个数据源中选择行来


updating



inserting


到一个或多个



.



Oracle 10g



MERGE


有如下一些改进:



1



UP DATE



INSERT


子句是可选的




2



UPDATE



INSERT


子句可以加


WHERE


子句



3


、在


ON


条 件中使用常量过滤谓词来


insert


所有的行到目标表中


,


不需要连接源表和目标表


< p>
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 NEWPRODUCTS


(


PRODUCT_ID INTEGER,


PRODUCT_NAME VARCHAR2(60),


CATEGORY VARCHAR2(60)


);



insert into NEWPRODUCTS values (1502, 'OLYMPUS


CAMERA', 'ELECTRNCS');


insert


into


NEWPRODUCTS


values


(1601,


'LAMAZE',


'TOYS');


insert into NEWPRODUCTS values (1666, 'HARRY


POTTER', 'TOYS');


insert into NEWPRODUCTS values (1700, 'WAIT


INTERFACE', 'BOOKS');


commit;


1


、可省略 的


UPDATE



INSERT


子句




Oracle 9i, MERGE


语句要求你必须同时指定


INSERT



UPDATE


子句


.


而在

< p>
Oracle 10g,


你可以省略


UPDAT E



INSERT


子句中的一个


.


下面的例子根据表


NEWPRODUCT S



PRODUCT_ID


字段是否匹 配来


updates



PRODUCT S


的信息


:


SQL> MERGE INTO products p


2 USING newproducts np


3 ON (t_id = t_id)


4 WHEN MATCHED THEN


5 UPDATE


6 SET t_name = t_name,


7 ry = ry;



3 rows merged.



SQL> SELECT * FROM products;



PRODUCT_ID PRODUCT_NAME CATEGORY


---------- -------------------- ----------


1501 VIVITAR 35MM ELECTRNCS


1502 OLYMPUS CAMERA ELECTRNCS


1600 PLAY GYM TOYS


1601 LAMAZE TOYS


1666 HARRY POTTER TOYS


SQL>


SQL> ROLLBACK;


Rollback complete.


SQL>


在上面例子中


, MERGE


语句影响到是产品


id


为< /p>


1502, 1601



1666


的行


.


它们的产品名字和




类被更新为表


newproducts


中的值


.


下面例子省略


UPDATE


子句


,


把表


NEWPROD UCTS


中新



PRODUCT_ID


插入到表


PRODUCTS



,


对于在两个表中能够匹配上


PRODUCT _ID


的数据不作


任何处理


.


从这个例子你能看到


PRODUCT_ID=1700


的行被插入到表


PRODUCTS


< br>.


SQL> MERGE INTO products p


2 USING newproducts np


3 ON (t_id = t_id)


4 WHEN NOT MATCHED THEN


5 INSERT


6 VALUES (t_id, t_name,


7 ry);



1 row merged.



SQL> SELECT * FROM products;



PRODUCT_ID PRODUCT_NAME CATEGORY


---------- -------------------- ----------


1501 VIVITAR 35MM ELECTRNCS


1502 OLYMPUS IS50 ELECTRNCS


1600 PLAY GYM TOYS


1601 LAMAZE TOYS


1666 HARRY POTTER DVD


1700 WAIT INTERFACE BOOKS


2


、 带条件的


Updates



Inser ts


子句




你能够添加


WHERE


子句到


UPDA TE



INSERT


子句中去


,


来跳过


update



insert


操作对某些


行的处理


.


下面例子根据表


NEWPRODU CTS


来更新表


PRODUCTS


数据


,


但必须字段


CATEGORY


也得


同时匹配上


:



SQL> MERGE INTO products p


2 USING newproducts np


3 ON (t_id = t_id)


4 WHEN MATCHED THEN


5 UPDATE


6 SET t_name = t_name


7 WHERE ry = ry;



2 rows merged.



SQL> SELECT * FROM products;



PRODUCT_ID PRODUCT_NAME CATEGORY


---------- -------------------- ----------


1501 VIVITAR 35MM ELECTRNCS


1502 OLYMPUS CAMERA ELECTRNCS


1600 PLAY GYM TOYS


1601 LAMAZE TOYS


1666 HARRY POTTER DVD


SQL>

-


-


-


-


-


-


-


-



本文更新与2021-02-07 10:33,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/608012.html

merge用法详解的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文