赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索

Oracle中对像名大小写敏感性的深入解析

发布时间:2007.07.31 07:51     来源:赛迪网    作者:yashi

一般情况下,使用者在进行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性能调整--统计信息的迁移 (07-30) · 易学且易用 小编教您如何架设DNS服务器 (07-29)
· 安装Oracle9i失败后一定要重装系统吗 (07-27) · 分享Oracle9i中建立自增字段的最新办法 (07-27)
· 轻松解决:Oracle8i回滚段表空间的坏块 (07-27) · 轻松掌握删除oracle10g垃圾表的最新方法 (07-27)
· Oracle WebServer与Oracle7的紧密集成 (07-26) · 客户端不安装 Oracle 也可以连接数据库 (07-26)
· 详细介绍数据库 Oracle 11g 的基本安装 (07-26) · ORACLE 数据库常用的SQL语法和数据对象 (07-26)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管