Oracle表名称和字段名称区分大小写

前端之家收集整理的这篇文章主要介绍了Oracle表名称和字段名称区分大小写前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle表名称和字段名称带引号创建时,会区分大小写

用Oracle的GUI工具创建数据库表时 给表名称加上双引号,则表名称区分大小写,如果输入包含小写字母,再用时,也必须加上双引号来区分大小写;如果输入的均为大写字母,则创建的和不加引号创建的表名一样,原因Oracle中sql语句中输入的串默认均被系统转换为大写,加引号后则系统不进行大写转换。
GUI工具中生成sql语句对带不带引号没有明显的区分,比如,创建“Demo”和Demo表语句显示是一样的:

Java代码
  1. CREATETABLE"SYSTEM"."Demo"("ID"LONGNOTNULL,"NAME"VARCHAR2(10)NOTNULL)

感觉是Oracle的Bug。

对应表名为:“Demo” 的表
对带引号的表名
(“Demo”):select*From“Demo”;
对不带引号的表名
(Demo):select*FromDemo;select*FromDEMO;
均可正常执行。
下面的:
select*From“DEMO”;
则不能正常执行。
而大写表名(DEMO):
select*FromDemo;select*FromDEMO;select*From“DEMO”;
均可正常执行

猜你在找的Oracle相关文章