|
Oracle9i引入了MERGE命令,你能够在一个SQL语句中对一个表同时执行inserts和updates操作. MERGE命令从一个或多个数据源中选择行来updating或inserting到一个或多个表.在Oracle 10g中MERGE有如下一些改进:
1、UPDATE或INSERT子句是可选的
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 NEWPRODUCTS ( PRODUCT_ID INTEGER, PRODUCT_NAME VARCHAR2(60), CATEGORY VARCHAR2(60) ); 对不起,您需要登录后才能查看全部详细内容
|
|