为什么数字是无效的数据类型

时间:2018-07-11 15:56:13

标签: sql oracle

我正在Toad中为Oracle创建一个简单表:

CREATE TABLE medcine
(
    id                 NUMBER,
    name               VARCHAR2(20 CHAR) NOT NULL,
    price              NUMBER,
    supplier_id        NUMBER            NOT NULL,
    company_id         NUMBER            NOT NULL,
    pre_date           DATE              DEFAULT sysdate NOT NULL,
    Exp_date           DATE              DEFAULT sysdate NOT NULL,
    sell-price         NUMBER,
    effective_material VARCHAR2(15 CHAR)
);

但是当我运行它时,出现此错误:

  

第3行出现错误
  ORA-00902:数据类型无效

1 个答案:

答案 0 :(得分:4)

您有错字:

sell-price

应该是

sell_price

被拒绝的是-,因为解析器期望该位置的数据类型。

顺便说一句,某些重新格式化必须更改行号,例如,SQL * Plus报告错误的确切位置:

SQL> CREATE TABLE medcine
  2  (
  3      id                 NUMBER,
  4      name               VARCHAR2(20 CHAR) NOT NULL,
  5      price              NUMBER,
  6      supplier_id        NUMBER            NOT NULL,
  7      company_id         NUMBER            NOT NULL,
  8      pre_date           DATE              DEFAULT sysdate NOT NULL,
  9      Exp_date           DATE              DEFAULT sysdate NOT NULL,
 10      sell-price         NUMBER,
 11      effective_material VARCHAR2(15 CHAR)
 12  );
    sell-price         NUMBER,
        *
ERROR at line 10:
ORA-00902: invalid datatype

PL / SQL Developer和SQL Developer在报告错误时都突出显示连字符。 PL / SQL Developer还将光标放在其上。我希望蟾蜍能做类似的事情。

此外,表格可能应命名为 medicine