我创建了两个表product_type
和product
,其脚本如下:
create table product_type
(
product_type_id integer constraint product_type_pk primary key,
name varchar2(10) not null
);
create table product
(
product_id integer constraint product_id_pk primary key,
product_type_id integer constraint products_fk_product_types references product_type(product_type_id),
product_name varchar2(30),
description varchar2(50),
price number(5,2)
);
现在假设我将我的第一个表"product_type"
重命名为"product_types"
alter table product_type rename to product_types
然后它会对第二个表产生什么影响,因为我在那里引用了一个引用product_type
的外键,现在是product_types
我现在需要在第二张表中更改哪些内容?
答案 0 :(得分:2)
Oracle负责数据库中的第二个表:如果查看SQL Developer或类似工具中的外键详细信息,您将看到该约束现在引用了PRODUCT_TYPES。没有什么可以做的。
但是,脚本现在已过期 - 如果您想再次使用该脚本,则需要修复其中对PRODUCT_TYPE的所有引用。
答案 1 :(得分:1)
对主表没有影响。 oracle处理所有引用表的更改。