oracle merge into 用法详解
oracle merge into 用法详解
2009-07-31 10:14
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)
);
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子句.而在Oracle 10g, 你可以省略UPDATE或INSERT子句中的一个. 下面的例子根据表NEWPRODUCTS的PRODUCT_ID字段是否匹配来updates表PRODUCTS的信息:
SQL> MERGE INTO products p
2 USING newproducts np
3 ON (p.product_id =
相关文档:
关于安装:
安装Oracle10g时,所输入的全局的SID名称为test(即数据库名,不能作为用户名来登录),密码为test(该密码对应的用户为system,sys等)。
装完后,若从网页上登录oracle,则输入url:http://localhost:1158/em
若无法显 ......
一:建立用户,用户组:
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
passwd oracle
二:修改说明,改为as4
vi /etc/redhat-release
修改后的内容:
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
#Red Hat Enterprise Linux Server release 5.4 (Tikanga)
三:改host(不必,网上说 ......
Oracle Application Development Framework
Oracle ADF
是一个端到端的
J2EE
框架,它通过提供现成的基础架构服务以及可视的、声明式开发体验简化了开发。
为了简化
J2EE
程序开发复杂性而专门开发的一种解决方案。
ADF
......
原文地址:
http://blog.sina.com.cn/s/blog_60e4205e0100esaf.html
找出正在执行的JOB编号及其会话编号
SELECT SID,JOB from
DBA_JOBS_RUNNING;
停止该JOB的执行
SELECT SID,SERIAL# from
V$SESSION WHERE ......
1、数值型常用函数
函数 返回值 样例 显示
ceil(n) 大于或等于数值n的最小整数 select ceil(10.6) from dual; 11
floor(n) 小于等于数值n的最大整数 select ceil(10.6) from dual; 10
mod(m,n) m除以n的余数,若n=0,则返回m select mod(7,5) from dual; 2
p ......