【问题标题】:SQL Oracle error: ORA-00904SQL Oracle 错误:ORA-00904
【发布时间】:2016-02-03 13:14:12
【问题描述】:

我正在创建一个表并输入了以下命令:

SQL> create table accident(report_number integer primary key,
  2  date varchar(20),
  3  location varchar(20));

我收到了这个错误:

date varchar(20),
*
ERROR at line 2:
ORA-00904: : invalid identifier

谁能告诉我错误在哪里以及如何纠正它?

【问题讨论】:

  • 有一个名为“日期”、类型为VARCHAR 的列闻起来像糟糕的设计——不应该是DATE 类型吗?
  • 请考虑使用varchar2 而不是varchar,即deprecated

标签: sql oracle


【解决方案1】:

DATE 是保留字,不能用作列名。

【讨论】:

    【解决方案2】:

    Date 是保留字,要用于列名,请在其周围加上配额"column-name"

    例如:

    create table abcd(
    "date" date
    );
    
    insert into abcd values (sysdate);
    
    select "date" from abcd;
    

    但请注意,使用 quoats 时,列名会区分大小写

    例如:

    select "Date" from abcd 将导致 "Date": invalid identifier

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      相关资源
      最近更新 更多