在我的上一篇文章中 ,我提到了使用双引号在Oracle标识符中显式指定大小写的缺点是,可能会与对字符串文字使用单引号相混淆。 尽管我个人并不认为这是避免在Oracle中避免对标识符使用双引号的充分理由,但是值得意识到这种潜在的混淆。 何时使用单引号与何时使用双引号一直是数据库新用户在一段时间内将两者区分开的困惑。 在这篇文章中,我看一个示例,说明在没有引号的情况下意外滥用单引号会导致创建不必要的索引的情况。
简单脚本createPersonTable.sql
的SQL createPersonTable.sql
生成一个名为PEOPLE的表,并将为此表的主键ID列隐式创建一个索引。 但是,该脚本还包含一个明确的索引创建语句,乍一看似乎可以在此主键列上创建索引。
createPersonTable.sql
CREATE TABLE people
(
id number PRIMARY KEY,
last_name varchar2