要修改先刪除外鍵和和主鍵,通過創建臨時的字段存數據 (目的是為了保留客戶原來的數據),最後重新建立主鍵和外鍵 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 主鍵表(字段名);