将现有列修改为外键
Modifying an existing column to a foreign key
我有一个没有外键的 oracle 数据库,所有 table 关系都由软件处理。例如,table Customer
列 Customer.customercode
,Customer.Name
其中 customercode
是主键,table Order
列 Order.ordercode
(PK), Order.customercode
其中 customercode
没有外键约束。到目前为止,应用程序处理所有事务并处理所有 table 关系,以便数据保持一致。我需要将其更改为适当的关系数据库实现,因此我需要将 Order.customercode
修改为 table Customer
的 FK。在不丢失数据的情况下执行此操作的任何 sqlplus 语句?
在Oracle中,创建外键永远不会丢失任何数据,但如果数据不符合新的约束条件,则会失败。假设你的数据没问题,你可以使用 alter table
语句:
ALTER TABLE order
ADD CONSTRAINT order_customer_fk FOREIGN KEY (customercode)
REFERENCES customer(customercode)
我有一个没有外键的 oracle 数据库,所有 table 关系都由软件处理。例如,table Customer
列 Customer.customercode
,Customer.Name
其中 customercode
是主键,table Order
列 Order.ordercode
(PK), Order.customercode
其中 customercode
没有外键约束。到目前为止,应用程序处理所有事务并处理所有 table 关系,以便数据保持一致。我需要将其更改为适当的关系数据库实现,因此我需要将 Order.customercode
修改为 table Customer
的 FK。在不丢失数据的情况下执行此操作的任何 sqlplus 语句?
在Oracle中,创建外键永远不会丢失任何数据,但如果数据不符合新的约束条件,则会失败。假设你的数据没问题,你可以使用 alter table
语句:
ALTER TABLE order
ADD CONSTRAINT order_customer_fk FOREIGN KEY (customercode)
REFERENCES customer(customercode)