如何让oracle安装区分大小写?

How to make oracle installation case sensitive?

我有 oracle express 安装,默认情况下它不区分大小写(table creation/keys name)。我想将其更改为区分大小写。有配置吗?

没有设置,没有

但是,在任何版本的 Oracle 中,您都可以使用 case-sensitive 标识符,方法是将它们括在 double-quotes.

create table "CamelCase" (
  "ColumnName1" integer
);

将创建一个 table CamelCase case-sensitive 和一个区分大小写的列 ColumnName1。但是,为了使用该列,每个引用都需要包含在 double-quotes

SELECT "ColumnName1"
  FROM "CamelCase"

会起作用。不过

SELECT ColumnName1
  FROM CamelCase

不会。

使用 case-sensitive 标识符通常是一个非常糟糕的主意,因此我强烈建议您不要这样做。不过这是一个选项。

不,没有相关配置。您不能在没有 quoting them 的情况下创建标识符 case-sensitive,但 Oracle 建议不要使用带引号的标识符:.

Oracle does not recommend using quoted identifiers for database object names. These quoted identifiers are accepted by SQL*Plus, but they may not be valid when using other tools that manage database objects.

即便如此,如果您有一个带引号的标识符 all-caps,例如"MY_TABLE",它被视为与不带引号的标识符相同,因此您仍然可以将其称为 my_table,这对您来说可能不够 case-sensitive。任何 mixed-case 或带有无效字符的东西都必须被引用,例如`select * 来自 "My Table",这使得代码更难阅读和维护(无论如何在我看来)。

我真的建议不要这样做。任何必须维护您的模式或代码的人都不会感谢您。