网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库中如何使用超过2G的.
.Oralce 数据库的灾难恢复.
.视图的概念.
.利用外部命令Oralce数据库导入导.
.PL/SQL在from后面使用变量,以及输.
.如何查看各个表空间占用磁盘情况.
.ORACLE入门之APACHE虚拟服务器设.
.Oracle中捕获问题SQL语句.
.SQL Server中的Datediff移植到OR.
.Oracle数据库中按用户名重建索引.
.如何彻底删除Oracle(转载).
.linux怎么给一个普通用户reboot权.
.为什么Postfix提示“biff_notify.
.修正Gaim中yahoo对方看不到中文字.
.RedHat 7.3/8 下的Oracle 8i安装.
.Oracle9i初始化参数中文说明(7).
.快速删除ORACLE重复记录.
.数据仓库离我们到底有多远?.
.oracle8i在redhat7.1~7.3下的安装.
.PL/SQL Packages and Types Refe.

Oracle9i中MERGE的用法

发表日期:2008-2-9


 語法: MERGE [hint] INTO [schema .] table [t_alias] USING [schema .] { table view subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_insert_clause;
Oracle 9I中加入了MERGE 語法: MERGE [hint] INTO [schema .] table [t_alias] USING [schema .] { table view subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_insert_clause;
構建測試數據表
create table tj_test
(id number,
name varchar2(20),
age number)
向表中插入數據 insert into tj_test
values
(1,'jan',23)
insert into tj_test
values
(2,'kk',22)
insert into tj_test
values
(3,'joe',27)
select * from tj_test
1 jan 23 2 kk 22 3 joe 27
構建另一新表
create table tj_test1 as select * from tj_test where 1=0 插入一筆數據 insert into tj_test1
values
(1,'jlk',23) select * from tj_test1
1 jkl 23 --注重,這裡的NAME字段中的值是jkl 使用MERGE,實現有則更新,無則插入
merge into tj_test1 tt1
using tj_test tt
on (tt1.id=tt.id)
when matched then
update set
tt1.name=tt.name,
tt1.age=tt.age
when not matched then
insert values(
tt.id,
tt.name,
tt.age) 查詢tj_test1表(對比原來表中的數據,更新了ID=1 ROW中字段NAME同時,多出兩筆新數據) select * from tj_test1 1 jan 23 --這裡的原有jkl值被更新 3 joe 27 --原來表中沒有的插入 2 kk 22 --原來表中沒有的插入 Trackback: http://tb.blog.csdn.net/TrackBack.ASPx?PostId=1480596
上一篇:连接oracle的总结(关于tnsname和监听) 人气:826
下一篇:Oracle中的LOB类型处理 人气:826
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐