首页
学习
活动
专区
圈层
工具
发布

Oracle中merge into语句的使用方法

前言 上一章我们介绍了Oracle的临时表的使用方法《Oracle的临时表的使用》,就像我前面说的,多表关联查询的时候会用到临时表插入数据,然后再用select查行查询,在往临时表里插入数据的时候,我们经常会用到判断如果临时表里有了这部分数据我们就要更新数据...,如果临时表里没有这部分数据我们就要插入,这个时候就到用了Merge into语句了。...update T set T.b=2 Where T.a='1001' else insert into T(a,b) values('1001',2); 而在Oracle里面要用到Merge...into来实现(Oracle 9i引入的功能),其语法如下: MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join...可以看到temp_cstable表里面有了两条数据,并且XStotal取的是tskuplu里的plulong值为1 我们再修改一下语句,让刚才这个merge into的语句执行两次 ?

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Merge into用法总结

    Where T.a='1001' else insert into T(a,b) values('1001',2); 但是很明显这个语法对于SQL只能更改一条语句,并且Oracle不能使用.所以就有了Merge...into(Oracle 9i引入的功能)语法 merge into 目标表 a using 源表 b on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……)...对于Oracle有dual这个系统表很好构建,如下 MERGE INTO T T1 USING ( SELECT '1001' AS a, 2 AS b FROM dual ) T2 ON (...; } return msg; } Merge 的其他功能 Merge语句还有一个强大的功能是通过OUTPUT子句,可以将刚刚做过变动的数据进行输出...我们在上面的Merge语句后加入OUTPUT子句 此时Merge操作完成后,将所变动的语句进行输出 当然了,上面的Merge关键字后面使用了多个WHEN…THEN语句,而这个语句是可选的

    1.4K20
    领券