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
关键字
- 内联约束规范
- 表示日期和时间的数据类型
- 字符串内容的数据类型
- 货币数据类型的替代
- 当前日期时间
我已经尝试编辑命令并查看其他问题来回答这个问题,但我仍然遇到可怕的
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
关键字- 内联约束规范
- 表示日期和时间的数据类型
- 字符串内容的数据类型
- 货币数据类型的替代
- 当前日期时间