Oracle 用拼接字符串更新表 测试

 

先看我们的数据:

SQL> select count(1) from dave where cust_tel like '0551%';

 

 COUNT(1)

----------

     2723

 

在我们的Dave表里,cust_tel 电话以0551 开头的有2723条记录,现在我们把这些记录换成0556.

 

我们使用如下方法测试一下:


写法很多,关键要注意效率问题,尤其是要更新的数据量比较大时。

 

另测试发现Oracle10g 和11g 在语法支持上的一些区别:

 

在Oracle 10g上可以使用如下语法:



 

但如果在Oracle 11g中使用如下语法:



 

则会一致处于等待状态。

 

但是在Oracle 11g中,可以使用如下的游标来处理,这种方法也是我们之前的提高的根据rowid 来完成大量的Update操作:



 

 

有关这种方法的具体说明参考:

Oracle 利用 rowid 提升 update 性能

http://blog.csdn.net/tianlesoftware/article/details/6576156

 

 

 

 

 

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:   http://blog.csdn.net/tianlesoftware

Weibo:            http://weibo.com/tianlesoftware

Email:             tianlesoftware@gmail.com

Skype:            tianlesoftware

 

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)  

DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

DBA6 群:158654907    DBA7 群:172855474  DBA8群:102954821    

posted @ 2011-12-10 17:41  hibernate我最强  阅读(443)  评论(0编辑  收藏  举报