CREATE TABLE form1
(
empcid VARCHAR2(25),
empname VARCHAR2(100),
empid VARCHAR2(25),
empdgn VARCHAR2(50),
empdob DATE,
empadd VARCHAR2(200),
empcom VARCHAR2(15),
empshare VARCHAR2(10),
empsdoj DATE,
empedoj DATE,
constraint pkform1 primary key (empcid, empname, empid, empdgn)
);
CREATE TABLE deposit
(
loanid VARCHAR(25),
openbal DECIMAL(20, 3),
subcrp DATE,
subamt DECIMAL(20, 3),
totdep DECIMAL(20, 3),
subamtint DECIMAL(25, 3),
cumuint DECIMAL(20, 3),
empcid VARCHAR2(25),
empname VARCHAR2(100),
empid VARCHAR2(25),
empdgn VARCHAR2(50),
constraint pkedeposit primary key (loanid),
constraint fkform1 foreign key (empcid, empname, empid, empdgn) references
form1
);
CREATE TABLE sharecapital
(
loanid VARCHAR2(25),
empedoj DATE,
empshare VARCHAR2(10),
shareint DECIMAL(20, 3),
loandt DATE,
loandeduc VARCHAR2(25),
dividend DECIMAL(25, 3),
sharetot DECIMAL(25, 3),
empcid VARCHAR2(25),
empname VARCHAR2(100),
empid VARCHAR2(25),
empdgn VARCHAR2(50),
constraint fkdep foreign key(loanid) references deposit),
constraint fkscform1 foreign key(empcid, empname, empid, empdgn) references
form1
);
当我执行 sharecapital 表“缺失或无效选项”时显示错误
ORA-00922:缺少或无效选项
我不知道如何纠正它。
答案 0 :(得分:2)
存在语法错误。
CREATE TABLE sharecapital
(
loanid VARCHAR2(25),
empedoj DATE,
empshare VARCHAR2(10),
shareint DECIMAL(20, 3),
loandt DATE,
loandeduc VARCHAR2(25),
dividend DECIMAL(25, 3),
sharetot DECIMAL(25, 3),
empcid VARCHAR2(25),
empname VARCHAR2(100),
empid VARCHAR2(25),
empdgn VARCHAR2(50),
<强> constraint fkdep foreign key(loanid) references deposit),
constraint fkscform1 foreign key(empcid, empname, empid, empdgn) references
form1
);
应该是
CREATE TABLE sharecapital
(
loanid VARCHAR2(25),
empedoj DATE,
empshare VARCHAR2(10),
shareint DECIMAL(20, 3),
loandt DATE,
loandeduc VARCHAR2(25),
dividend DECIMAL(25, 3),
sharetot DECIMAL(25, 3),
empcid VARCHAR2(25),
empname VARCHAR2(100),
empid VARCHAR2(25),
empdgn VARCHAR2(50),
<强> constraint fkdep foreign key(loanid) references deposit,
constraint fkscform1 foreign key(empcid, empname, empid, empdgn) references
form1
);