[20220610]對比表結構的不同.txt
[20220610]對比表結構的不同.txt
--//重複測試:
1.環境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.測試:
--//create table emp as select * from scott.emp;
create table emp2 as select * from scott.emp;
--//But now I'll make some changes to EMP2 so that it is now slightly different to EMP.
alter table emp2 pctfree 20;
alter table emp2 add newcol number;
3.測試:
SCOTT@book> select dbms_metadata_diff.compare_alter('TABLE','EMP','EMP2') from dual;
DBMS_METADATA_DIFF.COMPARE_ALTER('TABLE','EMP','EMP2')
--------------------------------------------------------
ALTER TABLE "SCOTT"."EMP" ADD ("NEWCOL" NUMBER)
ALTER TABLE "SCOTT"."EMP" DROP CONSTRAINT "PK_EMP"
ALTER TABLE "SCOTT"."EMP" DROP CONSTRAINT "FK_DEPTNO"
ALTER TABLE "SCOTT"."EMP" PCTFREE 20
ALTER TABLE "SCOTT"."EMP" RENAME TO "EMP2"
--//輸出實際上clob型別的資訊.
--//dbms_metadata_diff.compare_alter還支援schema以及dblink.
SCOTT@book> @ desc_proc sys dbms_metadata_diff compare_alter
INPUT OWNER PACKAGE_NAME OBJECT_NAME
sample : @desc_proc sys dbms_stats gather_%_stats
OWNER PACKAGE_NAME OBJECT_NAME SEQUENCE ARGUMENT_NAME DATA_TYPE IN_OUT DEFAULTED
----- ------------------ ------------- -------- -------------- --------- --------- ----------
SYS DBMS_METADATA_DIFF COMPARE_ALTER 1 CLOB OUT N
2 OBJECT_TYPE VARCHAR2 IN N
3 NAME1 VARCHAR2 IN N
4 NAME2 VARCHAR2 IN N
5 SCHEMA1 VARCHAR2 IN Y
6 SCHEMA2 VARCHAR2 IN Y
7 NETWORK_LINK1 VARCHAR2 IN Y
8 NETWORK_LINK2 VARCHAR2 IN Y
8 rows selected.
4.作者還提供一個生成結尾分號的輸出,利用dbms_metadata_diff.compare_alter_xml:
with t as
(
select dbms_metadata_diff.compare_alter_xml('TABLE','EMP','EMP2') xml
from dual
)
select xt.txt||';'
from t,
xmltable(xmlnamespaces(default '), '/ALTER_XML/ALTER_LIST/ALTER_LIST_ITEM/SQL_LIST/SQL_LIST_ITEM'
passing xmltype(t.xml)
columns
txt varchar2(255) path 'TEXT'
) xt;
XT.TXT||';'
-------------------------------------------------------
ALTER TABLE "SCOTT"."EMP" ADD ("NEWCOL" NUMBER);
ALTER TABLE "SCOTT"."EMP" DROP CONSTRAINT "PK_EMP";
ALTER TABLE "SCOTT"."EMP" DROP CONSTRAINT "FK_DEPTNO";
ALTER TABLE "SCOTT"."EMP" PCTFREE 20;
ALTER TABLE "SCOTT"."EMP" RENAME TO "EMP2";
--//真心話,XML格式不熟悉,搗騰這些有點煩.
This can be a little annoying because you might want to omit some of the commands, augment them in some way, or run them
one at a time, and this would then mean digging around within the CLOB with INSTR and SUBSTR functions to locate each
statement.
這可能有點煩人,因為您可能想要省略一些命令,以某種方式增強它們,或者一次執行一個命令,這將意味著在CLOB中挖掘instr和
SUBSTR函式來定位每個語句。
--//自己嘗試看看,簡單一點直接使用replace:
with t as (select dbms_metadata_diff.compare_alter('TABLE','EMP','EMP2' ) c400 from dual)
select replace(c400,chr(10),';'||chr(10)) from t;
REPLACE(C400,CHR(10),';'||CHR(10))
--------------------------------------------------------
ALTER TABLE "SCOTT"."EMP" ADD ("NEWCOL" NUMBER);
ALTER TABLE "SCOTT"."EMP" DROP CONSTRAINT "PK_EMP";
ALTER TABLE "SCOTT"."EMP" DROP CONSTRAINT "FK_DEPTNO";
ALTER TABLE "SCOTT"."EMP" PCTFREE 20;
ALTER TABLE "SCOTT"."EMP" RENAME TO "EMP2"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2900135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 表結構對比版本
- 如何比較兩個資料庫表結構的不同資料庫
- [20220610]tmux記錄操作內容.txtUX
- [20190402]對比_mutex_wait_scheme不同模式cpu消耗.txtMutexAIScheme模式
- [20220610][轉載]Is my table marked for archive.txtHive
- Oracle、MySQL常見表結構變更語句對比OracleMySql
- 實時多人遊戲同步方案:不同架構的對比遊戲架構
- 【資料結構】棧和佇列的總結對比資料結構佇列
- [20181203]drop table後如何獲得表結構.txt
- Redis 不同插入方法的效能對比Redis
- HBase的表結構你設計得不對!
- HBase 的結構與表的對應關係
- 【Golang】基於beego/orm實現相同表結構不同表名的分表方法實現GolangORM
- codemirror diff-match-path不同裝置、不同裝置狀態下的對比結果不穩定
- PostgreSQL 資料庫結構(DDL)比對工具 pgquarrelSQL資料庫
- [20210803]對比transparent hugepage的記憶體消耗.txt記憶體
- 不同環境Odoo執行速度對比Odoo
- Alter修改表結構對資料儲存的影響PP
- 報表工具對比之潤乾報表與銳浪報表對比
- MySQL對比清除不必要的表MySql
- 介面測試返回結構對比實現思路記錄
- Dotnet演算法與資料結構:Hashset, List對比演算法資料結構
- [20180309]不好的資料結構設計.txt資料結構
- 前端構建工具對比前端
- TCP/UDP對比總結TCPUDP
- 批次對比結果集
- Golang 針對 MySQL 資料庫表結構的差異 SQL 工具GolangMySql資料庫
- 面向不同需求的物件儲存系統對比:Ceph與Swift物件Swift
- 詳細解讀:不同RAID級別的優缺點對比AI
- IDEA如何對比不同分支某個檔案的差異Idea
- 不同規劃企業對CRM系統的價效比要求
- mysql 兩個表結果合拼到一個表,用常量區別不同的表MySql
- MySQL高可用架構對比MySql架構
- 直觀對比幾個不同 Python 程式碼片段的執行速度Python
- 深度人臉識別中不同損失函式的效能對比函式
- [20200121]CURRENT_TIMESTAMP LOCALTIMESTAMP SYSTIMESTAMP的不同.TXT
- PostgreSQL的幾種分散式架構對比SQL分散式架構
- 素描構圖中的對比與調和