?
?各位好,
??????? 默认情况下,Oracle的数据库对象(表、视图、存储过程、函数等)的相关名称,只支持大写,并且名字长度限制在30个英文字符内。大部分Oralce的相关工具也是按此来进行操作的。在编写SQL时,不管是全大写、全小写或者大小写混合,ORACLE一律按全大写处理,例如下述三个个语句是等价的:
??????? 大概是10g版本后,Oracle引入了支持大小写混合给数据库对象取名的特性,但是使用极为不方便,外围的相关工具(例如PLSQL Developer等)也没有完全调整过来。在使用时需要在名称前后加上双冒号,例如:
在实际中发现,这种表通过sql语句“select * from customers”是无法访问的,需要写成select * from "Customers"和select * from "customers"
并且PLSQL Developer的图形界面还无法DROP掉。需要写SQL语句: Drop table "Customers"来执行。
由此可见,非常不方便。
在实际工作中注意,请不要在数据库里面创建需要通过双引号引起来才能访问的对象。
??????? 默认情况下,Oracle的数据库对象(表、视图、存储过程、函数等)的相关名称,只支持大写,并且名字长度限制在30个英文字符内。大部分Oralce的相关工具也是按此来进行操作的。在编写SQL时,不管是全大写、全小写或者大小写混合,ORACLE一律按全大写处理,例如下述三个个语句是等价的:
Create Table Customers(...)
Create Table CUSTOMERS(...)
Create Table customers(...)
Create Table CUSTOMERS(...)
Create Table customers(...)
??????? 大概是10g版本后,Oracle引入了支持大小写混合给数据库对象取名的特性,但是使用极为不方便,外围的相关工具(例如PLSQL Developer等)也没有完全调整过来。在使用时需要在名称前后加上双冒号,例如:
Create Table "Customers"(...)
Create Table "customers"(...)
通过这两个语句会在库中建两个名字不一样的表。Create Table "customers"(...)
在实际中发现,这种表通过sql语句“select * from customers”是无法访问的,需要写成select * from "Customers"和select * from "customers"
并且PLSQL Developer的图形界面还无法DROP掉。需要写SQL语句: Drop table "Customers"来执行。
由此可见,非常不方便。
在实际工作中注意,请不要在数据库里面创建需要通过双引号引起来才能访问的对象。