我如何用oracle创建一个表但字符很小的表?

use*_*279 9 oracle quoted-identifier

我如何创建一个带有oracle但带有小字符的表,当我创建一个包含小字符的表时,它会将auto转换为大写字符.

a_h*_*ame 23

ANSI SQL标准要求将(非引用的)表名折叠为大写.

可以使用带引号的标识符创建具有小写名称的表(和列)(再次遵循SQL标准):

CREATE TABLE "foo" 
(
   "id"          integer,
   "SomeColumn"  varchar(100)
);
Run Code Online (Sandbox Code Playgroud)

但是我会强烈建议你,要这样做.

一旦以这种方式创建了表,就必须始终使用双引号,因为任何非引用的名称(遵循SQL标识符的规则)将再次折叠为大写,因此在存储时将与名称不匹配在系统目录中.

为此下面的语句将无法正常工作:

SELECT id, somecolumn FROM foo;
Run Code Online (Sandbox Code Playgroud)

您必须使用带引号的标识符:

SELECT "id", "SomeColumn" FROM "foo";
Run Code Online (Sandbox Code Playgroud)

有关(带引号)标识符的更多详细信息,请阅读手册中的"数据库对象命名规则"一章.

  • 同意一匹没有名字的马'我见过并且不得不调试使用它的生产代码,因为编写应用程序的人是Java开发人员,出于某种原因喜欢使用驼峰案例表和列名,因为他们就是这样的Java中的类型标识符.在甲骨文中维持这一点绝对是一场噩梦.当你看到数百个包含混合大小写列+视图名称的视图时,你几乎想把键盘扔进监视器,并且你被要求调整一些sql对它们. (2认同)