首页 > 解决方案 > 需要帮助:出现错误 ORA-00907:缺少右括号,找不到解决方案

问题描述

我不明白我错过了什么。使用 Oracle Apex for SQL。

CREATE TABLE Employees
(
    EmployeeID CHAR(5) NOT NULL,
    LastName VARCHAR(20) NOT NULL,
    FirstName VARCHAR(10) NOT NULL,
    Title VARCHAR(30),
    TitleOfCourtesy VARCHAR(25),
    BirthDate DATE(7),
    HireDate DATE(7),
    Address VARCHAR(60),
    City VARCHAR(15),
    Region VARCHAR(15),
    PostalCode VARCHAR(10),
    Country VARCHAR(15),
    HomePhone VARCHAR(24),
    Extension VARCHAR(4),
    Notes VARCHAR(600),
    ReportsTo NUMBER(22),
    PhotoPath VARCHAR(255),
    SIN CHAR(9),
    CONSTRAINT Employees_EmployeeID_pk PRIMARY KEY (EmployeeID)
)

标签: sqloracle

解决方案


调试此类错误的最佳方法是逐行删除,直到您不再收到错误为止。然后找出该行返回错误的原因。在这种情况下,错误发生在列生日。原因是这DATE(7)不是 oracle 中的有效数据类型。您不能为 DATE 指定精度。删除(7),它会像一个魅力。

CREATE TABLE employees (
  employeeid       CHAR(5) NOT NULL,
  lastname         VARCHAR(20) NOT NULL,
  firstname        VARCHAR(10) NOT NULL,
  title            VARCHAR(30),
  titleofcourtesy  VARCHAR(25),
  birthdate        DATE,
  hiredate         DATE,
  address          VARCHAR(60),
  city             VARCHAR(15),
  region           VARCHAR(15),
  postalcode       VARCHAR(10),
  country          VARCHAR(15),
  homephone        VARCHAR(24),
  extension        VARCHAR(4),
  notes            VARCHAR(600),
  reportsto        NUMBER(22),
  photopath        VARCHAR(255),
  sin              CHAR(9),
  CONSTRAINT employees_employeeid_pk PRIMARY KEY ( employeeid )
)

像往常一样,非常有据可查


推荐阅读