【问题标题】:Table Creation Results into ORA-00904: : invalid identifier表创建结果到 ORA-00904: : 无效标识符
【发布时间】:2017-02-21 07:28:14
【问题描述】:

我正在尝试创建一个表,但我不断收到此错误:

ORA-00904: : 无效标识符

请帮忙。

CREATE TABLE salesreport 
(
    pid number(10) NOT NULL,
    uid number(10) NOT NULL,
    pname varchar2(50) NOT NULL,
    price number(10) NOT NULL,
    qty number(10) NOT NULL,
    dateoforder varchar2(20) DEFAULT NULL,
    total varchar2(30) NOT NULL
)

CREATE INDEX pid ON salesreport (pid, uid); 

【问题讨论】:

  • CREATE TABLE 语句后缺少分号。
  • 我试过了,还是一样的错误
  • 您应该将dateoforder 设为日期类型,不是文本。

标签: sql oracle


【解决方案1】:

uid 是保留字。选择其他东西,它应该可以工作。

或者这样写

CREATE TABLE salesreport (
   pid number(10) NOT NULL,
  "uid" number(10) NOT NULL,
  pname varchar2(50) NOT NULL,
  price number(10) NOT NULL,
  qty number(10) NOT NULL,
  dateoforder date DEFAULT SYSDATE,
  total varchar2(30) NOT NULL
);

INDEX pid ON salesreport (pid,"uid");

【讨论】:

  • 我现在试过了,它给出了这个错误“ORA-00922:缺少或无效选项”
  • 你用什么来建表?明智的工具
  • 使用这个:dateoforder date DEFAULT SYSDATE
  • 我正在使用 oracle 10g @jucan
  • 谢谢我在你的帮助下解决了这个问题。解决方案是:CREATE TABLE salesreport (pid number(10) NOT NULL, "uid" number(10) NOT NULL, pname varchar2(50) NOT NULL, price number(10) NOT NULL, qty number(10) NOT NULL, dateoforder日期 DEFAULT SYSDATE,总 varchar2(30) NOT NULL ); CREATE INDEX pid ON salesreport (pid,"uid");
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-08
  • 2022-01-22
相关资源
最近更新 更多