无法创建表oracle?
Posted
技术标签:
【中文标题】无法创建表oracle?【英文标题】:Unable to create table oracle? 【发布时间】:2012-08-04 10:25:39 【问题描述】:我无法在 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)
)
【问题讨论】:
表PATIENT
和BED
存在吗?
与您的问题无关,但如果 PatientNo
和 WardNo
是数字,那么您真的应该将它们存储起来。另外,我强烈建议使用 [varchar2
而不是 char
。](***.com/questions/7747184/…
您的用户是否授予了创建表的权限?
@HiteshRiziya:缺少创建表的授权会导致不同的错误
【参考方案1】:
表Patient
和Bed
在您尝试创建表Occupancy
的架构中不存在(或没有公共同义词)。如果它们确实存在于不同的架构中,请在创建语句中使用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;
【讨论】:
以上是关于无法创建表oracle?的主要内容,如果未能解决你的问题,请参考以下文章