无法创建表oracle?
问题描述:
我无法在oracle中创建此表,并不断收到错误ORA-00942:表或视图不存在任何帮助,非常感谢!无法创建表oracle?
CREATE TABLE Occupancy
(
PatientNo CHAR(6),
WardNo CHAR(6),
BedNo NUMBER(2),
StartOfOccupancy DATE,
EndOfOccupancy DATE,
CostsIncurred NUMBER(6,2),
PRIMARY KEY (Patientno,WardNo,BedNo,StartOfOccupancy),
FOREIGN KEY (Patientno) REFERENCES Patient (PatientNo),
FOREIGN KEY (WardNo,BedNo) REFERENCES Bed (WardNo,BedNo)
)
答
的表Patient
和Bed
不会在架构中存在(或不具有公共同义词),您要创建表Occupancy
。如果他们确实存在于不同的架构中,请在create语句中使用SCHEMA_NAME.Patient
和SCHEMA_NAME.Bed
,或者为两个表Patient
和Bed
创建公共同义词。如果你有特权引用这些表的新表应该生成,否则REFERENCES
需要被授予您的模式为
GRANT REFERENCES (PatientNo)
ON SCHEMA_NAME.Patient
TO YOUR_SCHEMA;
而且
GRANT REFERENCES (WardNo,BedNo)
ON SCHEMA_NAME.Bed
TO YOUR_SCHEMA;
执行表'PATIENT'和'BED'存在? – 2012-08-04 10:29:31
与你的问题没有关系,但是如果'PatientNo'和'WardNo'是数字,那么你应该真的将它们存储为这样。另外,我强烈建议使用['varchar2'而不是'char'。](http://stackoverflow.com/questions/7747184/oracle-datatype-should-i-use-varchar2-or-char – Ben 2012-08-04 10:31:38
你的用户授予CREATE表的权限? – hriziya 2012-08-04 10:32:07