[size=large]Oracle表名称和字段名称带引号创建时,会区分大小写 [/size]
用Oracle的GUI工具创建数据库表时 给表名称加上双引号,则表名称区分大小写,如果输入包含小写字母,再用时,也必须加上双引号来区分大小写;如果输入的均为大写字母,则创建的和不加引号创建的表名一样,原因Oracle中SQL语句中输入的串默认均被系统转换为大写,加引号后则系统不进行大写转换。
GUI工具中生成的SQL语句对带不带引号没有明显的区分,比如,创建“Demo”和Demo表语句显示是一样的:
感觉是Oracle的Bug。
对应表名为:“Demo” 的表
对带引号的表名
下面的:
而大写表名(DEMO):
用Oracle的GUI工具创建数据库表时 给表名称加上双引号,则表名称区分大小写,如果输入包含小写字母,再用时,也必须加上双引号来区分大小写;如果输入的均为大写字母,则创建的和不加引号创建的表名一样,原因Oracle中SQL语句中输入的串默认均被系统转换为大写,加引号后则系统不进行大写转换。
GUI工具中生成的SQL语句对带不带引号没有明显的区分,比如,创建“Demo”和Demo表语句显示是一样的:
CREATE TABLE "SYSTEM"."Demo" ("ID" LONG NOT NULL, "NAME" VARCHAR2(10) NOT NULL) 感觉是Oracle的Bug。
对应表名为:“Demo” 的表
对带引号的表名
(“Demo”):select * From “Demo”;对不带引号的表名(Demo):select * From Demo;select * From DEMO;均可正常执行。下面的:
select * From “DEMO”;则不能正常执行。而大写表名(DEMO):
select * From Demo;select * From DEMO;select * From “DEMO”;均可正常执行
在Oracle中使用GUI工具创建带有双引号的表名时,表名将变得大小写敏感。若表名包含小写字母,则后续使用时也需带引号;全大写的表名则不受此限制。
1628

被折叠的 条评论
为什么被折叠?



