如何让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",这使得代码更难阅读和维护(无论如何在我看来)。
我真的建议不要这样做。任何必须维护您的模式或代码的人都不会感谢您。
我有 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",这使得代码更难阅读和维护(无论如何在我看来)。
我真的建议不要这样做。任何必须维护您的模式或代码的人都不会感谢您。