SQL:缺少括号

SQL: Missing Parenthesis

我已经尝试编辑命令并查看其他问题来回答这个问题,但我仍然遇到可怕的

ORA-00907: missing right parenthesis.

这是我的代码。我可能需要在此处放置任何关键字吗?谢谢

CREATE TABLE Loan
(
    LoanID       INT IDENTITY ( 1, 1 ) UNIQUE,
    BranchID     INT NOT NULL REFERENCES Branch(BranchID) ON DELETE CASCADE,
    LoanNumber   CHAR(20) NOT NULL UNIQUE,
    LoanType     VARCHAR(30) NOT NULL,
    Amount       MONEY NOT NULL,
    ModifiedDate DATETIME DEFAULT (getdate()),

    PRIMARY KEY ( LoanID )
);

以下 ddl 在语法上是正确的。当然,您必须检查该语句是否真的产生了您想要的结果(特别是未考虑原始语句中的 IDENTITY 关键字):

CREATE TABLE Loan
(
      LoanID       INTEGER NOT NULL PRIMARY KEY
    , BranchID     INTEGER NOT NULL               CONSTRAINT tl_fk_branchid  REFERENCES Branch(BranchID) ON DELETE CASCADE
    , LoanNumber   CHAR(20) NOT NULL              CONSTRAINT tl_u_loannumber UNIQUE 
                       -- right padded to length of 20 with blanks 
    , LoanType     VARCHAR2(30) NOT NULL
    , Amount       Number(*,4) NOT NULL     
                       -- cf.  changed per @BobJarvis' comment
    , ModifiedDate DATE DEFAULT SYSDATE
);

语法偏差如下:

  • IDENTITY关键字
  • 内联约束规范
  • 表示日期和时间的数据类型
  • 字符串内容的数据类型
  • 货币数据类型的替代
  • 当前日期时间