这两天一直在处理关于SQL server存储过程转换到Oracle中,也发现一些oracle语句的区别。
在oracle 中有个语法:merge
用法如下:
merge into 表1
using 表2 或者(select * from 表2)别名
on (表1.id=表2.id)
when matched then update set 表1.列=表2.列
还有无条件的insert语句:
MERGE INTO products p USING newproducts np
ON (1=0) WHEN NOT MATCHED THEN
INSERT
VALUES (np.product_id, np.product_name, np.category)
WHERE np.category = 'BOOKS'
update的写法:
今天改写一个T_sql语句到PL/SQL中,原句是通过两个表关联查询取出数据,然后更新,在oracle中是不支持这样的写法的。一开始通过不加条件直接写,发现全部语句被更新了。后来在where语句下增加id的限制条件。
update formfield s set typeid=nvl((select doctypeid from pipedoctype f where s.id=f.fieldid and rownum=1),'') where s.id in (select fieldid from pipedoctype);
commit;
总结:
update语句区别:就是在更新的时候,其更新语句数据来源是从另一个关联表中取出时,使用上述方法;
发表评论
-
Oracle plsql后台程序建议
2011-03-02 12:03 661个人改进建议: 1、游标取数时,采用批量取数的方法: ... -
oracle10g 的一个问题
2011-03-02 11:39 611oracle10g 的一个问题: 创建主键的时候, 默 ... -
Oracle视图使用
2011-02-15 17:13 0Oracle视图使用经验谈: 1、如果视图仅仅是 ... -
Oracle 10g 中的递归查询(树型查询)
2011-01-27 01:35 901Oracle 10g 中的递归查询(树型查询) 一、树型表 ... -
PLSQL 中Merge into和Update的用法
2011-01-27 01:31 1450在oracle 中有个语法:merge 用法如下: ... -
Oracle培训的总结
2011-01-27 01:30 678前段时间,因为要升级系统到Oracle环境,公司请了一位在 ... -
Oracle 培训材料
2011-01-27 01:29 609前段时间给公司做个Oracle培训,一直在学oracl ... -
Oracle 简单的SQL调优
2011-01-27 01:27 711今天刚看到一篇简单的SQL调优,自己也试了一下优化。原文如下: ... -
PL/SQL最差实践
2011-01-27 01:15 5521. 超长的PL/SQL代码 影响:可维护性,性能 ... -
大表变小表,小表再连接————记一次PL/SQL优化过程
2011-01-27 01:12 1208公司的业务系统中存在一个大的日志表,表大约是这样:cre ... -
高效的PL/SQL程序设计--批量处理
2011-01-27 00:59 595批量处理一般用在ETL操作, ETL代表提取(extract) ... -
PL/SQL用户指南与参考--PL/SQL应用程序性能调优(转)
2011-01-27 00:57 606PL/SQL应用程序性能调优 <!-- Instanc ... -
PL/SQL优化
2011-01-18 19:51 798PL/SQL优化 注:O代表比X 更优化的写法。 以 ... -
Oracle SQL 内置函数大全
2009-03-25 21:25 578SQL中的单记录函数 1.ASCI ... -
PL/SQL中用光标查询多条记录
2009-03-25 21:19 712一、 什么是光标 Oracle ... -
PL/SQL开发中动态SQL的使用方法
2009-03-25 21:11 1094一般的PL/SQL程序设计中,在DML和事务控制的语句中可 ...
相关推荐
PLSQL开发中动态SQL的使用方法.doc
根据表结构生成打印出根据主键update的语句
plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明plsql中文使用说明
PLSQL安装程序、中文插件和破解补丁,将补丁拖进去就OK了
plsql使用中文说明
PLSQL使用教程,详细说明了PLSQL的使用方法,很不的呀
使plsql 中的日常操作更加便捷,可以自定义快捷键
plsql的工具,自己可以使用
plsql中文使用说明 不用多说了吧 喜欢的拿去
plsql快捷插件,下载放入 plsql安装路径的PlugIns文件下就能用,还有中文插件,傻瓜式安装就可以使用,希望能帮助到小伙伴
plsql 中文操作手册 对学习plsql 有很大帮助
PLSQL中的多进程通信技术 PLSQL中的多进程通信技术 PLSQL中的多进程通信技术
PLSQL Developer 中文指南 PLSQL Developer 中文指南 PLSQL Developer 中文指南 PLSQL Developer 中文指南 PLSQL Developer 中文指南
plsql developer 中文乱码 问号的解决办法,中文乱码 中文乱码 中文乱码
plsql9中文汉化语言包
plsql-有关讲解 及E文教程翻译