CREATE TABLE Prescription (
pre_id NUMBER(10),
pssn CHAR(11),
phy_ssn CHAR(11),
date CHAR(11),
quantity INTEGER,
trade name CHAR(20),
pharm id CHAR(11),
drop_off_time CHAR(10),
pick_up_time CHAR(10),
status CHAR (15),
PRIMARY KEY(pre_id),
FOREIGN KEY (pssn) REFERENCES Pri_Phy_Patient,
FOREIGN KEY (phy_ssn) REFERENCES Doctor,
FOREIGN KEY (trade_name, pharm_id) REFERENCES Make_Drug);
我得到ORA-00904:invalid identifier
使用上述sql語句時出錯。在oracle 11g中創建表時出錯
與上述有關的一個其他SQL語句是:
CREATE TABLE Doctor (
phy_ssn CHAR(11),
name CHAR(20),
speciality CHAR(30),
exp_years CHAR(10),
PRIMARY KEY (phy_ssn));
CREATE TABLE Pri_Phy_Patient (
pssn CHAR(11),
name CHAR(20),
age INTEGER,
address CHAR(20),
phy ssn CHAR(11),
PRIMARY KEY (pssn),
FOREIGN KEY (phy_ssn) REFERENCES Doctor);
CREATE TABLE Make_Drug (
trade_name CHAR(20),
pharm_id CHAR(11),
formula VARCHAR(100)
PRIMARY KEY (trade_name, pharm_id),
FOREIGN KEY (pharm_id) REFERENCES Pharm_co);
任何人都可以在我能做些什麼關於這個建議!
正如Doc123所說,「DATE」是一個保留字。我沒有發現那一個,但我也可以給你一個建議:即使你能夠使用'DATE'作爲列描述......對列值有什麼看法?列的名稱應該是有意義的。之後你的開發者會感謝你。另一列是「狀態」,也可能更具指示性。什麼樣的狀態?對列命名的長度存在限制,但不要在另一個方向上過分,使所有列只有6或8個字符,使用通用名稱。 – tvCa