Oracle 表中有資料的情況下 字段更改資料型別

2022-02-09 09:53:26 字數 592 閱讀 3623

原表為enterprise ,將其主鍵enterpriseid 的number型別替換為varchar(21)

方法一:

create table enterprise1 as 

select * from enterprise where 1=2;

alter table enterprise1 modify(enterpriseid varchar2(21));

insert into enterprise1 select * from enterprise ;

drop table enterprise;

rename  enterprise1 to enterprise ;

這樣做資料不會丟失,但會丟失主鍵、index,

字段注釋,表名注釋 以及相應的觸發器

方法二為 

新建乙個字段 如enterpriseid1

,型別為

varchar2(20

),儲存原主鍵的值,然後修改回原主鍵欄位名 

這樣做會丟失主鍵 約束等 

update enterprise set enterpriseid1=g||enterpriseid ;

ClickHouse在表有資料的情況下修改表引擎

我們使用mergetree來表示mergetree系列 中的所有表引擎,replicatedmergetree同理。如果各個副本上的資料不一致,則首先對其進行同步,或者除保留的乙個副本外,刪除其他所有副本上的資料。重新命名現有的mergetree表,然後使用舊名稱建立replicatedmerget...

在沒有資料集的情況下使用資料表

使用資料介面卡填充資料表 using system using system.collections.generic using system.linq using system.text using system.data using system.data.sqlclient namespace...

查詢oracle庫下哪些表有資料!

方案一 select table name,nvl num rows,1 from dba tables t where t.owner scott 使用者名稱一定要大寫 方案二 如下語句可直接列出對應報表 若在sql plus中執行請先輸入set serveroutput on declare v...