Oracle中对像名大小写敏感性的深入解析
来源:互联网 发布:台湾有4g网络吗 编辑:程序博客网 时间:2024/04/30 10:50
一般情况下,使用者在进行Oracle开发或管理里都不会对ORACLE对像名大小写进行区别,因为ORALCE在普通情况下会将所有小写都转换为大写进行处理,所以可以说是大小写不敏感的。但是实际ORACLE内部有它一套完整的对像名处理方式。本文将从实例进行分析与探讨ORACLE对像名大小写敏感性的处理机制。
可能很多人在工作已经了解到,ORACLE在创建对像时是可以加引号的,如果不加引号则不能使用特别字符,只能使用以字母开头的命名。如果加了引号就可以在对像名里使用任何字符,包括数字开头、下划线、逗号等等。在导出SQLSERVER2000的对像创建脚本时一般是加了引号的,所以经常有人说脚本在ORACLE中运行后对像不能访问的问题。
注:
1、 本文是以ORACLE9.2为测试分析版本
2、 本文中提到的ORACLE对像名包括ORACLE中的表名、视图名、字段名、函数名等等。
以下为创建表及访问使用不同命名方式的一个实例,测试结果如下:
Connected to Oracle9i Enterprise Edition Release 9.2.0.7.0 Connected as ***** SQL> create table mytable1 2 ( 3 C1 VARCHAR2(6) 4 );Table createdSQL> select * from "MYTABLE1";C1------SQL> select * from MYtable1;C1------SQL> select * from "mytable1";select * from "mytable1"ORA-00942: 表或视图不存在SQL> drop table mytable1;Table droppedSQL> SQL> SQL> create table "mytable1" 2 ( 3 C1 VARCHAR2(6) 4 );Table createdSQL> select * from "mytable1";C1------SQL> select * from mytable1;select * from mytable1ORA-00942: 表或视图不存在SQL> select * from MYTABLE1;select * from MYTABLE1ORA-00942: 表或视图不存在
测试结果汇总:
创建/读取mytable1MYTABLE1“mytable1”“MYTABLE1”mytable1 √ √ × √ MYTABLE1 √ √ × √ “mytable1” × × √דMYTABLE1”√ √ ×√
总结:
创建/读取 小写字母 大写字母加引号小写字母加引号大写字母小写字母√ √ × √ 大写字母√ √ × √ 加引号小写字母× × √×加引号大写字母√ √ ×√
分析结论:
ORACLE在创建对像时如果没有加引号,对存入数据字典时都会将对像名小写字母转换成大写字母存储,如mytable将转换成MYTABLE;如果创建时加了引号,则以引号内的实际字符存储。
访问时如果没加引号则会将小写字母转换成大写字母再访问,如mytable将转换成MYTABLE;如果加了引号则以引号内的实际字符访问。
ORACLE在读取数据字典时只要发现对像名里有小写字母或者是除字母汉字以外开头的字符都认为是大小写敏感的,并且要求在访问时需要加上引号。 (责任编辑:卢兆林)
- Oracle中对像名大小写敏感性的深入解析
- Oracle中对像名大小写敏感性的深入解析
- Oracle中对像名大小写敏感性的深入解析
- ORACLE对像名大小写敏感性相关的深入分析
- ORACLE对象名大小写敏感性相关的深入分析
- ORACLE对象名大小写敏感性相关的深入分析
- Mysql对大小写的敏感性
- C/C++、java对大小写的敏感性
- Mysql数据库名和表名的大小写敏感性问题
- Mysql数据库名和表名的大小写敏感性问题
- Mysql数据库名和表名的大小写敏感性问题
- mysql的大小写敏感性
- Mysql的大小写敏感性
- MySQL的大小写敏感性
- Mysql的大小写敏感性
- Mysql的大小写敏感性
- mysql的大小写敏感性
- Mysql的大小写敏感性
- eval()简单一点说,就是将凑成的字符串去掉引号当作代码执行
- 编写高性能 Web 应用程序的10个技巧
- eclipse 自动换行wordwrap 插件
- 老汉的一个提高英语口语最用效的方法
- Reporting Service的小技巧(http://tideyee.blog.sohu.com/34897311.html)
- Oracle中对像名大小写敏感性的深入解析
- 如何查看本机开放端口 - Adam的专栏 - CSDNBlog
- .Net平台Windows Forms程序设计简介
- 开始了
- 感动上帝的医生?
- 服务器端FileUpload上传控件如何禁止手动输入并且不能粘贴.
- 如何识别真正的程序员
- 那些本属于我们的全民财富
- 网页设计者值得一去的地方