无法创建表oracle?

时间:2012-08-04 10:25:39

标签: sql oracle

我无法在oracle中创建此表并继续收到错误ORA-00942:表或视图不存在任何帮助,非常感谢!

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)
)

1 个答案:

答案 0 :(得分:1)

在您尝试创建表Patient时,架构中不存在表BedOccupancy(或没有公共同义词)。如果它们确实存在于不同的架构中,请在create语句中使用SCHEMA_NAME.PatientSCHEMA_NAME.Bed,或者为两个表PatientBed创建公共同义词。如果您有权引用这些表,则应创建新表,否则需要将REFERENCES授予您的模式

GRANT REFERENCES (PatientNo)
ON SCHEMA_NAME.Patient
TO YOUR_SCHEMA;

GRANT REFERENCES (WardNo,BedNo)
ON SCHEMA_NAME.Bed
TO YOUR_SCHEMA;