oracle - 如何使用 oracle 创建一个带有小字符的表?

标签 oracle quoted-identifier

我如何使用 oracle 创建一个小字符表,当我创建一个小字符表时,它会将 auto 转换为大写字符。

最佳答案

ANSI SQL 标准要求将(不带引号的)表名折叠成大写。

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

CREATE TABLE "foo" 
(
   "id"          integer,
   "SomeColumn"  varchar(100)
);

但是,我强烈建议您到 不是 去做。

以这种方式创建表后,您必须总是 使用双引号,因为任何未加引号的名称将(遵循 SQL 标识符的规则)再次折叠为大写,因此将与存储在系统目录中的名称不匹配。

因此以下声明将不是 工作:
SELECT id, somecolumn FROM foo;

您必须使用带引号的标识符:
SELECT "id", "SomeColumn" FROM "foo";

有关(引用)标识符的更多详细信息,请阅读 Database Object Naming Rules 一章在手册中。

关于oracle - 如何使用 oracle 创建一个带有小字符的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13342165/

相关文章:

用于序列号验证的正则表达式

sql - 增加变量的 PL/SQL 更新

postgresql - 无法使用终端在 postgres 中删除数据库

Java SQL "ERROR: Relation "表名“不存在”

oracle - Oracle AQ/Streams 对我的情况有用吗?

oracle - 通过xmltype理解解释计划

sql - 数据仓库中物化 View 的刷新策略

sql - 内部联接错误 - 尽管存在表但未找到该表

postgresql - SQL查询列不存在错误

sql-server - SQL Server 2008 SP 执行时出现 QUOTED IDENTIFIER 错误