如何使用 oracle 创建一个带有小字符的表格,当我创建一个带有小字符的表格时,它会将自动转换为大写字符。
问问题
9662 次
2 回答
26
ANSI SQL 标准要求将(不带引号的)表名折叠为大写。
您可以使用带引号的标识符创建具有小写名称的表(和列)(这再次遵循 SQL 标准):
CREATE TABLE "foo"
(
"id" integer,
"SomeColumn" varchar(100)
);
但是,我强烈建议您不要这样做。
以这种方式创建表后,您必须始终使用双引号,因为任何未加引号的名称(遵循 SQL 标识符的规则)将再次折叠为大写,因此与存储时的名称不匹配在系统目录中。
因此,以下语句将不起作用:
SELECT id, somecolumn FROM foo;
您必须使用带引号的标识符:
SELECT "id", "SomeColumn" FROM "foo";
有关(引用)标识符的更多详细信息,请阅读手册中的数据库对象命名规则一章。
于 2012-11-12T11:08:40.927 回答
0
用引号 ( "
) 将表名括起来。也像这样创建你的表
create table "t" ( a number, b varchar2(10) );
现在你的表名是t
小写的。当您访问您的表格时,您必须始终使用引号。例如
select * from "t";
您可以对其他对象(列、索引等)使用相同的构造。
无论如何,SQL 是不区分大小写的,你需要一个很好的理由来使用大小写相关的对象名称。
于 2012-11-12T11:15:28.223 回答