网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  Oracle中对像名大小写敏感性的深入解析     
  文章作者:未知  文章来源:未知  
  查看:147次  录入:管理员--2007-08-05  
 

一般情况下,使用者在进行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 created
SQL> select * from "MYTABLE1";
C1
------
SQL> select * from MYtable1;
C1
------
SQL> select * from "mytable1";
select * from "mytable1"
ORA-00942: 表或视图不存在
SQL> drop table mytable1;
Table dropped
SQL> 
SQL> 
SQL> create table "mytable1"
 2 (
 3    C1 VARCHAR2(6)
 4 );
Table created
SQL> select * from "mytable1";
C1
------
SQL> select * from mytable1;
select * from mytable1
ORA-00942: 表或视图不存在
SQL> select * from MYTABLE1;
select * from MYTABLE1
ORA-00942: 表或视图不存在

测试结果汇总:

√表示允许访问,×表示不允许访问。

读取
创建 mytable1 MYTABLE1 “mytable1” “MYTABLE1” 
mytable1 √ √ × √ 
MYTABLE1 √ √ × √ 
“mytable1” × × √ × 
“MYTABLE1” √ √ × √

总结:

读取
创建 小写字母 大写字母 加引号小写字母 加引号大写字母 
小写字母 √ √ × √ 
大写字母 √ √ × √ 
加引号小写字母 × × √ × 
加引号大写字母 √ √ × √

分析结论:

ORACLE在创建对像时如果没有加引号,对存入数据字典时都会将对像名小写字母转换成大写字母存储,如mytable将转换成MYTABLE;如果创建时加了引号,则以引号内的实际字符存储。

访问时如果没加引号则会将小写字母转换成大写字母再访问,如mytable将转换成MYTABLE;如果加了引号则以引号内的实际字符访问。

ORACLE在读取数据字典时只要发现对像名里有小写字母或者是除字母汉字以外开头的字符都认为是大小写敏感的,并且要求在访问时需要加上引号。

 
 
上一篇: 解析:ORACLE性能调整--统计信息的迁移    下一篇: 用一条SQL 实现其它进制到十进制的转换
  相关文档
“顺序事务”与“只读事务”的实际应用 03-06
分享Oracle9i中建立自增字段的最新办法 08-05
不要忽视Oracle 10g STATSPACK新功能 06-03
用quick slice获取oracle进程的线程状态 07-07
大型mis软件的开发必须重视数据库设计 05-04
Oracle9i与SYBASE ASE12.5相比的几个不足 08-05
深入讲解memory_target与自动内存管理 03-24
帮你完全了解 Oracle 标签安全测试 05-13
新建Oracle数据库回滚段具体操作过程 04-11
理解和使用Oracle 8i分析工具-LogMiner 01-15
全面解析oracle无法连接本地数据库问题 04-22
初学者必读:行连接和行迁移的不同之处 07-30
oralce数据库定时执行存储过程的设置步骤 01-31
pfile创建spfile后数据库无法启动的问题 02-27
删除oracle数据库10g垃圾表的最新方法 05-15
如何使用“排序哈希簇”来提高查询速度 01-24
Oracle系统密码文件创建、使用及维护 04-11
教你轻松掌握数据库和实例的启动和关闭 09-29
深入讲解oracle9i数据仓库的增强及其价值 01-28
windows平台下"one-of-patch"的安装方法 03-05
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息