程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle更改主外鍵關系類型並且不破壞原來數據

oracle更改主外鍵關系類型並且不破壞原來數據

編輯:Oracle教程

要修改先刪除外鍵和和主鍵,通過創建臨時的字段存數據 (目的是為了保留客戶原來的數據),最後重新建立主鍵和外鍵 1、刪除主外鍵關系"列類型與引用的列類型不兼容" alter table 表名 drop constraint 關系名; 2、執行以下語句報"要修改數據類型,則要更改的列必須為空"
alter table 表名 modify (目標字段 varchar2(100));

解決步驟:

第一步,在表中加一個臨時字段
alter table 表名 add 臨時字段 目標字段原來的類型;

第二步,將目標字段的值付給臨時字段,並將目標字段置空
update 表名 set 臨時字段=目標字段,目標字段=null;

第三步,修改目標類型
alter table 表名 modify 目標字段 varchar2(100);

第四步,將臨時字段的值付給目標字段,並將臨時字段置空
update 表名 set 目標字段=臨時字段,臨時字段=null;

最後一步,刪除臨時字段
alter table 表名 drop column 臨時字段;

3、創建主鍵和外鍵關系

alter table 主鍵表 add constraint PK_CC_NAME primary key (字段名)
using index
tablespace *** pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

alter table 外鍵表 add constraint FK_CC_NAME foreign key (字段名)
references 主鍵表(字段名);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved