改變表的欄位順序dbms_REDEFINITION
官方解釋:The DBMS_REDEFINITION package provides an interface to perform. an online redefinition of tables.To achieve online redefinition, incrementally maintainable local materialized views are used. These logs keep track of the changes to the master tables and are used by the materialized views during refresh synchronization.
舉例說明:
1、建立一張臨時表
create table tmp_tab1
(
id int,
name varchar2(30)
);
alter table tmp_tab1 add constraint pk_id primary key (id);
insert into tmp_tab1
values(1,'aa');
insert into tmp_tab1
values(2,'bb');
commit;
2、看錶能否重新定義:
BEGIN
DBMS_REDEFINITION.CAN_REDEF_TABLE('test_dba','tmp_tab1',DBMS_REDEFINITION.CONS_USE_PK);
END;
/
3:建立符合條件的中間表
drop table int_tmp_tab1;
create table int_tmp_tab1
as
select ID,
cast(0 as int) name1,
NAME
from tmp_tab1;
4:開始定義原表
BEGIN
DBMS_REDEFINITION.START_REDEF_TABLE('test_dba', 'tmp_tab1','int_tmp_tab1');
END;
/
5:對中間表規劃好,建立原表的索引約束
alter table int_tmp_tab1 add constraint pk_id1 primary key (id);
6:進行同步表定義
begin
dbms_redefinition.sync_interim_table('test_dba','tmp_tab1','int_tmp_tab1');
end;
7:進行完成原表的修改
begin
dbms_redefinition.finish_redef_table( 'test_dba',
'tmp_tab1',
'int_tmp_tab1');
end;
8:刪除中間表
drop table int_tmp_tab1 ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23205405/viewspace-756545/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 改變表中非空欄位的型別型別
- oracle更改欄位名順序的方法Oracle
- 欄位按照指定 ID 順序進行排序排序
- Windows中改變網路卡繫結順序Windows
- 順序表
- 萬彩動畫大師教程 | 改變場景順序動畫
- AIX 6.1下改變域名解析順序(DNS, LOCAL)AIDNS
- 順序表應用5:有序順序表歸併
- 順序表應用6:有序順序表查詢
- win10硬碟順序調整怎麼設定 win10如何改變硬碟順序Win10硬碟
- 順序表的堆排序排序
- 順序表的學習
- 靜態順序表和動態順序表 對比
- C語言nice()函式:改變程式優先順序C語言函式
- Gridview繫結資料庫的欄位,根據條件欄位顏色改變View資料庫
- 第2章 順序表及其順序儲存
- PostgreSQL資料庫多列複合索引的欄位順序選擇原理SQL資料庫索引
- 表增刪改欄位,及基表改變等相關操作對檢視、同義詞、儲存過程的影響儲存過程
- 加hint改變執行計劃訪問順序優化sql優化SQL
- oracle 線上重新定義,普通表改變分割槽表,分割槽表可以更改型別、分割槽欄位等Oracle型別
- mongodb如何改_id欄位?MongoDB
- Java實現順序表Java
- oracle刪除表欄位和oracle表增加欄位Oracle
- 線性表的順序儲存-順序表,對“突然的自我”的否定,對自我的揚棄
- 順序表有序插入資料
- DS順序表--類實現
- 線性表的使用——順序實現
- 表的連線順序是否很重要
- 使用自定義任務審批欄位建立 SharePoint 順序工作流
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- 表中已有資料,將表中某個欄位為空的改為非空
- 修改表的欄位型別型別
- SQL新增表欄位SQL
- 【基礎題】【順序】個位、十位、百位、千位
- Flutter Key的原理和使用(五) 需要key的例項:可拖動改變順序的ListviewFlutterView
- PB關於資料視窗內欄位值改變問題
- 資料結構 - 線性表 - 順序表資料結構
- C語言實現順序表C語言