在Oracle创建表中创建外键时出现问题
我正在Oracle中构建一些非常简单的表,但在创建外键时遇到了问题。设备中的fac_ID是引用教员中fac_ID的FK,但它正在创建错误 我正在使用Oracle 11g Express。当我运行“从设备选择*时”,它会产生错误“ORA-00942:表或视图不存在”在Oracle创建表中创建外键时出现问题,oracle,foreign-keys,Oracle,Foreign Keys,我正在Oracle中构建一些非常简单的表,但在创建外键时遇到了问题。设备中的fac_ID是引用教员中fac_ID的FK,但它正在创建错误 我正在使用Oracle 11g Express。当我运行“从设备选择*时”,它会产生错误“ORA-00942:表或视图不存在” 我也犯了以下错误 从命令中的第56行开始出错-删除表SONICLIVE.Address 清除错误报告-SQL错误:ORA-00942:表或视图不存在 存在 94200000-“表或视图不存在” *原因: *行动: 我所做的更改是将表名
我也犯了以下错误 从命令中的第56行开始出错-删除表SONICLIVE.Address 清除错误报告-SQL错误:ORA-00942:表或视图不存在 存在 94200000-“表或视图不存在” *原因:
*行动: 我所做的更改是将表名放在双引号内“地址”
它成功了。我正在使用Oracle llg r2 XE进行本地测试您的代码对我有效,您遇到了什么错误?您使用的是哪个版本的Oracle?尝试将
外键
约束的名称更改为其他名称,例如,fac_id_fk
@PrzemyslawKruglej我正在使用Oracle 11g Express。当我运行“select*from equipment”时,会产生错误“ORA-00942:表或视图不存在”表是否已成功创建?如果运行此查询:SELECT*FROM user_objects,其中object_name='device'代码>它是否返回任何内容?您是否尝试在以与您在创建表期间登录的用户相同的用户身份登录时运行select语句?是,我以相同的用户身份登录。但即使如此,“从设备中选择*”仍应生成整个设备表。您提到的错误与FK无关。运行DESC功能,然后运行DESC设备。你得到了什么?
CREATE TABLE Faculty(
fac_ID VARCHAR(10) NOT NULL,
fac_Street VARCHAR(70) NOT NULL,
fac_City VARCHAR(30) NOT NULL,
fac_PROV VARCHAR(2) NOT NULL,
fac_Phone VARCHAR(12) NOT NULL,
PRIMARY KEY (fac_ID)
);
CREATE TABLE Equipment(
equip_ID VARCHAR(10) NOT NULL,
fac_ID VARCHAR(10) NOT NULL,
equip_Name VARCHAR(50) NOT NULL,
equip_Quantity VARCHAR(3) NOT NULL,
equip_Purchase_Date DATE NOT NULL,
PRIMARY KEY (equip_ID),
CONSTRAINT fac_ID FOREIGN KEY (fac_ID) REFERENCES Faculty(fac_ID)
);
CREATE TABLE "Studio" (
"ID" NUMBER(5) PRIMARY KEY,
"NAME" VARCHAR(20),
"PHONE" VARCHAR(11),
"ADDRESS_ID" NUMBER,
"MANAGER_ID" NUMBER,
CONSTRAINT fk_ADDRESS FOREIGN KEY (ADDRESS_ID) REFERENCES "Address"(ID)
);