蟹岛水上乐园怎么样:ORACLE解析机制的问题
来源:百度文库 编辑:九乡新闻网 时间:2024/04/30 11:21:40
分享一下有关ORACLE解析机制的问题,这个问题也困扰了我很长时间,今天总算定位并跟踪到其根本原因,拿出来跟大家分享一下
1、自定义的参数名不能与数据库表字段名重名!!!
举例来说: 在一个储存过程中调用一个内部过程块或者函数,希望通过传入的参数在数据采集后,返回自己想要的一些数值。 (1)如果你设置参数名与用到的某张表的字段名相同,就有可能取不到你想要到值。 (2)而单将过程或者函数内的SQL脚本直接通过SQL文本执行没有问题。 (3)手工调试,发现传入的参数值也没问题,就是拿不到你想要的值!
原因:ORACLE 对过程与函数的解析与单独的SQL文本的解析机制不一样引起的
这一点大家一定要注意,从规范做起,可以更好的防止类似此种情况的发生
2、命名规则,以下是我个人的命名习惯: 表名: 见名知义,如果多个单词组成,单词之前用下划线 _ 隔开 表结构字段名: 见名知义,如果由多个单词组成,单词之间用下划线 _ 隔开,切忌不要与JAVA命名规范混淆 函数名加前缀 F_NAME,(大写) 存储过程名加前缀: P_NAME;(大写) TYPE名加前缀: TYP_NAME;(大写) SEQUENECE名加前缀: SEQ_表名(大写) 索引名: IDX_表名(或者表名缩写)_001 (大写) 全局参数变量加前缀: v_valueName; 自定义异常加前缀: e_exceptionName 局部变量: 用JAVA的命名规则(如果不知道,自己查书),这样做的好处是保证与表字段名不会重复
另外再提醒一点:我这段测试用例的结尾处需要注意:
如果用到实际的数据采购,可以用MAX(id)去替代,因为最大时间对应的ID是相对最大值,前提ID是一个代理主键,即流水号SEQ
1、自定义的参数名不能与数据库表字段名重名!!!
举例来说: 在一个储存过程中调用一个内部过程块或者函数,希望通过传入的参数在数据采集后,返回自己想要的一些数值。 (1)如果你设置参数名与用到的某张表的字段名相同,就有可能取不到你想要到值。 (2)而单将过程或者函数内的SQL脚本直接通过SQL文本执行没有问题。 (3)手工调试,发现传入的参数值也没问题,就是拿不到你想要的值!
原因:ORACLE 对过程与函数的解析与单独的SQL文本的解析机制不一样引起的
这一点大家一定要注意,从规范做起,可以更好的防止类似此种情况的发生
2、命名规则,以下是我个人的命名习惯: 表名: 见名知义,如果多个单词组成,单词之前用下划线 _ 隔开 表结构字段名: 见名知义,如果由多个单词组成,单词之间用下划线 _ 隔开,切忌不要与JAVA命名规范混淆 函数名加前缀 F_NAME,(大写) 存储过程名加前缀: P_NAME;(大写) TYPE名加前缀: TYP_NAME;(大写) SEQUENECE名加前缀: SEQ_表名(大写) 索引名: IDX_表名(或者表名缩写)_001 (大写) 全局参数变量加前缀: v_valueName; 自定义异常加前缀: e_exceptionName 局部变量: 用JAVA的命名规则(如果不知道,自己查书),这样做的好处是保证与表字段名不会重复
另外再提醒一点:我这段测试用例的结尾处需要注意:
如果用到实际的数据采购,可以用MAX(id)去替代,因为最大时间对应的ID是相对最大值,前提ID是一个代理主键,即流水号SEQ
ORACLE解析机制的问题
Oracle IO问题解析(5)[www.HelloDBA.com]
Oracle 9i的备份和恢复机制
oracle 字符集问题
八个经典的问题解析
八个经典的问题解析
Oracle?10g?-启动EM时需要注意的问题
ORACLE问题与解答--(1)
ORACLE问题与解答--(2)
ORACLE问题与解答--(5)
ORACLE问题与解答--(6)
纠错机制的缺失是一个严重的现实问题
专业市场面临的体制机制问题及对策建议
八个经典的问题解析 - -GTD6
有关多次相遇的行程问题解析
[轉] Oracle面试过程中常见的二十个问题 - suny628的日志 - 网易博客
Redhat RHEL AS3 下安装 Oracle DB 10g 中文乱码问题的解决
关于RAC和MSCS并存的问题? - Oracle专题深入讨论 - ITPUB论坛 - I...
解析Servlet/JSP会话跟踪机制
解析 Linux 中的 VFS 文件系统机制1
ORACLE问题,每天10问--(1)
ORACLE的操作命令
oracle的远程连接
oracle 的tnsping命令