Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2896406
  • 博文数量: 599
  • 博客积分: 16398
  • 博客等级: 上将
  • 技术积分: 6875
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 12:04
个人简介

WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606

文章分类

全部博文(599)

文章存档

2014年(12)

2013年(56)

2012年(199)

2011年(105)

2010年(128)

2009年(99)

分类:

2010-01-15 23:18:23

PL/SQL方面:
对字符串的“sum”——在Oracle中自定义聚集函数的例子:如果利用Oracle的自定义功能实现用户自定义的聚集函数,这个例子给出了一个实现字符串合并的例子。
DBMS_REPAIR的使用:介绍了DBMS_REPAIR包的作用,并给出了使用DBMS_REPAIR包进行修改的例子。
DBMS_REPAIR的使用(二):在上一篇文章的基础上,利用自己编写的恢复过程,从已经保存的索引中恢复数据。
Oracle的在线重定义表功能:介绍9i引入的在线重定义功能。
Oracle的在线重定义表功能(二):一个在线重定义的使用实例。
如何定位DUMP所需的文件号和BLOCK号:DUMP数据文件需要指定DATAFILE和BLOCK,这篇文章介绍如何最方便的通过ROWID获取上面的信息。
Oracle9i使用闪回操作:介绍Oracle9i的闪回功能。
NUMBER类型转化为二进制:Oracle没有将数值转化为二进制的方式,这里实现了转换的功能。
郁闷的911错误:一个中文字符引起的问题。
自定义分析函数:自定义分析函数的一个例子。
给用户授予权限时应该尽量避免ANY系统权限:给出了一个通过ANY权限获得管理员权限的例子。
Deterministic函数:介绍ORACLE函数的DETERMINISTIC特性。
Deterministic函数(二):10g中DETEMINISTIC的不同之处。
计算月还款的小过程(一):写了一个简单的计算月还款的小程序。
计算月还款的小过程(二):对第一篇文章中的函数进行了封装、重载,增加了新功能。
计算月还款的小过程(三):增加了提前还款的功能。
通过触发器复制包含LONG类型的表:给出了通过触发器将LONG类型数据复制到一张BLOB类型的表中,同时这个例子还演示了如何避免变易表。
BULK COLLECT的小毛病:BULK COLLECT可能产生空记录的问题。
日期转换函数的格式参数大小写规则:介绍Oracle日期转化函数的格式参数大小写问题。
FORALL语句的小问题:描述FORALL语句的一个限制。
FOR ALL语法浅析:对比FOR ALL语句和FOR LOOP的效率。
PLSQL计算质数:利用PLSQL计算质数,例子主要展示算法对效率的影响。
判断是否数字类型:两种判断一个字符串是否包含的是合法数值的方法。
判断是否数字类型(二):添加了对科学技术法的判断。
10g的MAX、MIN的bug:在10g中使用MAX或MIN对CHAR类型操作,并将结果输出到变量,可能造成计算结果超长的问题。
编码规范的重要性——一次PLSQL程序问题诊断:通过实例说明编码规范的重要性。
RETURNING语句几个小问题:介绍PLSQL的RETURNING语句。
过程执行报错ORA-4068:对4068这个错误的产生进行了深入的分析。
自定义聚集函数访问远端对象(一):问题描述。
自定义聚集函数访问远端对象(二):多种角度进行测试,全方位展示问题。
自定义聚集函数访问远端对象(三):解决方法及总结。
一个处理操作系统文件属性的小函数:利用Oracle得到批量处理系统文件属性的脚本。
计算个人所得税的函数:一个计算个人所得税的小函数。
UTL_FILE包的简单例子:介绍UTL_FILE包的使用,给出一个将查询结果写到CSV文件中的例子。
将任意表数据导出为CSV文件的过程:上面一篇文章的升级,支持任意查询结果生成CSV文件。
将IP地址转化为数值:一个将IP地址转换为数值的函数。
新建对象也可能导致存储过程的失效:描述新建对象导致存储过程失效的情况。
新增对象对调用者权限存储过程的影响:新建对象可能导致调用者权限存储过程执行出错。
调用者权限过程的权限问题:描述调用者权限存储过程的特点。
调用者权限存储过程的权限特点:利用动态SQL来避免权限问题。
命名空间的小问题:命名空间问题。
VIEWS是关键字吗:VIEWS居然是PLSQL的关键字。
TO_LOB函数:TO_LOB函数的特殊性。
数值超过NUMBER最大表示范围的问题(一):通过一个小的函数引出数值超过NUMBER最大范围的问题。
数值超过NUMBER最大表示范围的问题(二):给出外部C存储过程的解决方案。
数值超过NUMBER最大表示范围的问题(三):给出外部JAVA存储过程的解决方案。
数值超过NUMBER最大表示范围的问题(四):利用Oracle存储过程自定义加和乘的方法,解决问题。
数值超过NUMBER最大表示范围的问题(五):利用Oracle的对象,采用另一种算法实现。
ORA-28595错误:配置外部C过程时碰到的错误。
ORA-19206错误:错误描述及解决。
利用DBMS_METADATA包获取权限信息:利用DBMS_METADATA包获取权限信息。
一个INSTEAD OF TRIGGER的例子:一个INSTEAD OF触发器的小例子。
Oracle9i的1467错误:自定义聚集函数出现ORA-1467错误。
ORA-600(923)错误:调用DBMS_UTILITY包的GET_PARAMETER_VALUE过程时出现了ORA-600错误。
触发器中获取SQL语句:在触发器中获取触发语句的功能。
在远端和本地存储过程间传递数组:远端存储过程和本地存储过程之间传递数组的方法。
奇怪的ORA-1422错误:登陆触发器查询V$SESSION造成的问题。
撤销事务报错ORA-55505:建表时间和被撤销事务间隔太短造成的问题。
撤销事务指定错误的XID导致ORA-600(4000)错误:指定错误的XID导致的问题。
ORA-600(ktftb_backout_xids_3)错误:指定错误的撤销事务个数造成的问题。
撤销事务报错出现多个ORA-600错误:撤销事务测试过程中碰到的几个错误。
Oracle11新特性——PLSQL函数缓存结果(一):11g新增功能PLSQL函数缓存结果的功能。
Oracle11新特性——PLSQL函数缓存结果(二):11g新增功能PLSQL函数缓存结果和DETERMINISTIC函数的区别。
Oracle11新特性——PLSQL函数缓存结果(三):11g新增功能PLSQL函数缓存结果的应用实例。
Oracle11新特性——PLSQL新特性(一):PLSQL的函数指定参数调用和CONTINUE语句。
Oracle11新特性——PLSQL新特性(二):PLSQL的SEQUENCE的改进。
Oracle11新特性——PLSQL新特性(三):PLSQL的SIMPLE_INTEGER数据类型。
Oracle11新特性——PLSQL新特性(四):PLSQL的inlining优化。
Oracle11新特性——PLSQL新特性(五):PLSQL的新增的控制触发器的触发顺序功能。
Oracle11新特性——PLSQL新特性(六):PLSQL新增的复合触发器。
Oracle11新特性——PLSQL新特性(七):PLSQL的动态SQL方面的增强。
Oracle11新特性——撤销事务(一):简单介绍撤销事务的用法。
Oracle11新特性——撤销事务(二):介绍撤销级联事务。
Oracle11新特性——撤销事务(三):撤销事务与外键约束的关系。
Oracle11新特性——在线操作功能增强(三):Oracle对象依赖性判断增强。
Oracle11新特性——在线操作功能增强(六):在线重定义功能对物化视图日志的支持。
10g在线重定义新特性——复制表相关对象:Oracle提供了新的过程COPY_TABLE_DEPENDENTS,大大简化了在线重定义的步骤。
利用TYPE解决IN列表过长的问题:使用TYPE方式,解决IN列表过程的问题。
一个复杂问题的求解过程(四):尝试使用PL/SQL实现。
一个复杂问题的求解过程(五):仍然使用PL/SQL实现,这里采用了递归算法。
一个有趣的错误ORA-1002:循环中回滚后继续操作,会导致这个问题。
小议Oracle中构造数组:简单总结一下在PL/SQL中使用二维数组。
有趣的触发器事件:在查询触发器的视图时碰到了一个有趣的问题。
如何为表中多条记录分别实现构造结果集(二):利用Oracle的TYPE实现结果集构造。
不使用日期函数实现ADD_MONTHS函数功能:用PL/SQL实现Oracle的ADD_MONTHS的功能。
不使用日期函数实现ADD_MONTHS函数功能(二):在原有的基础上做了一点小改动。
BEFORE触发器修正数据错误:使用BEFORE触发器记录或修正导入过程中出现的数据类型超长的错误,结果没成功,这里研究一下这个问题。
获取导致导入失败的数据:从导出的dmp文件中获取错误的记录。
获取导致导入失败的数据(二):继续修正方法继续找出异常的数据。
获取导致导入失败的数据(三):最终获取了导致错误的记录。
获取汉字拼音首字母:给出一个获取汉字拼音首字母的例子,并简单说明思路。
Oracle中实现连乘:如何在Oracle中实现连乘。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(一):描述一下解决问题的思路。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(二):初步实现CONNECT BY NOCYCLE的功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(三):初步实现CONNECT_BY_ISCYCLE的功能。
10g树形查询新特性CONNECT_BY_ISCYCLE的9i实现方式(四):CONNECT_BY_ISCYCLE功能的最终实现。
PIPE函数的例子:一个利用PIPE函数解决问题的例子。
小议自治事务(一):简单描述一下自治事务可以使用的位置。
小议自治事务(二):描述自治事务的事务性特点。
小议自治事务(三):描述自治事务与会话的关系。
小议自治事务(四):描述自治事务与主事务在事务和会话级的关系。
小议自治事务(五):描述自治事务与主事务与临时表的关系。
小议自治事务(六):对比自治事务与普通事务的代价差别。
临时表的ORA-14550错误:测试自治事务的时候访问临时表出现了这个错误,简单总结一下。
Oracle中实现圆周率计算(一):在Oracle中实现Oracle圆周率的计算。
Oracle中实现圆周率计算(二):给出一个真正的算法。
Oracle中实现圆周率计算(三):将代码迁移到JAVA存储过程。
不包含INTO的动态SQL不会增加序列值:不包含INTO的动态SQL不会增加序列值。
JAVA存储过程出现ORA-24345错误:写了一个简单的JAVA存储过程,处理一个精度较大的数学问题,结果碰到了ORA-24345错误。
利用字符串实现高精度数值运算(一):描述两个字符串相加。
利用字符串实现高精度数值运算(二):描述两个字符串相乘。
利用字符串实现高精度数值运算(三):描述两个表示整数的字符串相减。
利用字符串实现高精度数值运算(四):给出完整的字符串相减的解决方法。
利用字符串实现高精度数值运算(五):给出基础的字符串除法的解决方案。
语句级一致性与函数的关系:查询不会看到其他会话未提交的修改,或者发生在查询开始之后的修改。
ORA-7445错误(pdtisq_record_explode):错误的原因和索引表的索引表有关。
一次ORA-1461错误处理过程(一):简单描述一下解决过程。
一次ORA-1461错误处理过程(二):描述一个隐藏问题的解决。
利用自定义分析函数的一个例子:利用Oracle的自定义聚集函数解决一个问题。
ORA-7445(kkxmgoag)错误:在运行自定义分析函数过程中出现了这个错误。
ORA-7445(kkxmgoag)错误(二):介绍这个错误在不同版本下的不同表现。
触发器迭代限制:描述触发器迭代触发的限制。
字符串连接超长的解决(一):将自定义聚集函数的返回值改为LOB类型。
字符串连接超长的解决(二):将自定义聚集函数的内部变量改为LOB类型。
一次PLSQL处理LOB字段的优化:介绍了一下优化LOB处理的过程。
Oracle10g新增DBMS_FILE_TRANSFER包(一):介绍COPY_FILE过程。
Oracle10g新增DBMS_FILE_TRANSFER包(二):介绍GET_FILE和PUT_FILE过程。
利用DBMS_FILE_TRANSFER包实现远程备份:利用DBMS_FILE_TRANSFER包来实现备份到其他服务器上的功能。
10g新增功能实现字符串连接:Oracle10g提供了字符串连接的功能,使用WMSYS.WM_CONCAT(TNAME)就可以实现这个功能。
解决字符串连接设置间隔符的问题:通过修改自定义聚集函数来实现设置间隔符的功能。
利用PLSQL实现表空间的迁移(一):介绍PULL_SIMPLE_TABLESPACE过程。
利用PLSQL实现表空间的迁移(二):介绍PULL_TABLESPACES过程。
利用PLSQL实现表空间的迁移(三):介绍CLONE_TABLESPACES过程。
利用PLSQL实现表空间的迁移(四):介绍ATTACH_TABLESPACES过程。
利用PLSQL实现表空间的迁移(五):介绍DETACH_TABLESPACES过程。
利用触发器对物化视图刷新进行定制:可以通过在物化视图上创建触发器的方式,对刷新操作进行定制。
利用UTL_SMTP发送邮件:UTL_SMTP包可以发送EMAIL。
系统触发器的应用顺序(一):描述一下系统级触发器的触发顺序。
系统触发器的应用顺序(二):看一个例外的情况。
系统触发器的应用顺序(三):寻找导致问题的原因。
系统触发器的应用顺序(四):通过TRACE检查问题的原因。
使用DBMS_RANDOM过程引发的问题:描述DBMS_RANDOM的调用可能导致的问题。
函数调用发生在SQL调用之前还是过程中:描述函数的调用是发生在SQL运行之前,还是发生在SQL的运行之中。
运行无法解决的编译错误:绝大部分情况下,可以直接尝试执行过程,来省略编译的步骤。但是有的时候,直接运行并不起作用。
Oracle11gr2触发器依赖判断增强(一):对比11.1和11.2在列级依赖上的差别。
Oracle11gr2触发器依赖判断增强(二):介绍触发器列级依赖存在的问题。
触发器中操作LOB:触发器中可以像其他数据类型一样处理LOB字段,但是仅局限于SQL语句对LOB的修改。


阅读(1786) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~