免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
LONG類型遷移到LOB類型(一)

LONG類型由于過多的限制,Oracle很早就推薦使用LOB類型進行替代,在Oracle的官方文檔中給出了幾種將LONG類型遷移到LOB類型的方法,這里簡單討論一下。

這一篇討論利用TO_LOB進行遷移。


官方文檔給出的方法如下:

SQL> CREATE TABLE T
2 (ID NUMBER,
3 CONTENTS LONG);

Table created.

SQL> INSERT INTO T
2 SELECT ROWNUM, OWNER || OBJECT_NAME || OBJECT_TYPE
3 FROM ALL_OBJECTS;

75327 rows created.

SQL> COMMIT;

Commit complete.

SQL> CREATE TABLE T_NEW
2 (ID NUMBER,
3 CONTENTS CLOB);

Table created.

SQL> INSERT INTO T_NEW
2 SELECT ID, TO_LOB(CONTENTS)
3 FROM T;

75327 rows created.

SQL> COMMIT;

Commit complete.

SQL> DROP TABLE T PURGE;

Table dropped.

SQL> RENAME T_NEW TO T;

Table renamed.

這種方法需要刪除原表,先不說是否會造成業(yè)務(wù)停頓,光是原表涉及的索引、約束、權(quán)限等重建就已經(jīng)很麻煩了。

其實這個方法可以改進為:

SQL> DROP TABLE T PURGE;

Table dropped.

SQL> CREATE TABLE T
2 (ID NUMBER,
3 CONTENTS LONG);

Table created.

SQL> INSERT INTO T
2 SELECT ROWNUM, OWNER || OBJECT_NAME || OBJECT_TYPE
3 FROM ALL_OBJECTS;

75327 rows created.

SQL> COMMIT;

Commit complete.

SQL> ALTER TABLE T
2 ADD (CONTENTS_NEW CLOB);

Table altered.

SQL> UPDATE T
2 SET CONTENTS_NEW = TO_LOB(CONTENTS);
SET CONTENTS_NEW = TO_LOB(CONTENTS)
*
ERROR at line 2:
ORA-00932: inconsistent datatypes: expected - got LONG


SQL> ALTER TABLE T ADD PRIMARY KEY (ID);

Table altered.

SQL> UPDATE T T1
2 SET CONTENTS_NEW =
3 (SELECT TO_LOB(CONTENTS)
4 FROM T T2
5 WHERE T1.ID = T2.ID);

75327 rows updated.

SQL> ALTER TABLE T DROP COLUMN CONTENTS;

Table altered.

SQL> ALTER TABLE T RENAME COLUMN CONTENTS_NEW TO CONTENTS;

Table altered.

雖然Oracle不支持在UPDATE語句的時候直接使用TO_LOB進行LONG類型的轉(zhuǎn)換,但是可以利用自關(guān)聯(lián)的方式繞過Oracle的限制。

這種方法避免了表的重建,也就避免了索引、約束以及權(quán)限等對象的重建。

不過LONG字段刪除后,會留下很多的空閑空間分別在表的各個 BLOCK中,如果有必要收縮高水位線,可以考慮對表再進行一次MOVE操作。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
oracle索引壓縮
請問oracle里面的long,long raw,raw,clob,blob各有什么好處與...
帶有LOB字段的表空間的移動
oracle里long類型的總結(jié)
oracle修改varchar2類型為clob類型
Oracle常用命令筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服