oracle的long型別欄位的應用-- 實戰篇
上篇介紹了LONG型別的基本知識,這一篇用實際程式碼介紹如何操作。
--在實際操作中,我們最可能遇到的問題是,將遺留的資料遷到新的環境中。對LONG型別而言,最有可能的操作就是從將資料來源匯入目標VARCHAR2或CLOB欄位中。
以下是儲存過程程式碼,其中被註釋的內容是未最佳化的程式碼。
使用最佳化之後,速度提高了一倍。
select * from user_segments where segment_name like 'TMP_TAB_COLUMNS%' ;
bytes, blocks, extents
655360 80 10 -- uncompress
262144 32 4 insert as ,compress
327680 40 5 insert value , compress
327680 40 5 insert bulk , compress
create or replace procedure p_defv_tab is
cursor cur_tab_col
is
select OWNER, TABLE_NAME, COLUMN_NAME, DATA_DEFAULT
from dba_tab_columns a
where a.OWNER IN ('GLPLATFORM',
'SALESMGMT',
'TRADEMGMT',
'ENGINE',
'HOMELINK',
'PROCESSPLATFORM',
'USERMGR',
'SYSMGR',
'COMMONFRAMEWORK',
'OWNERS');
va_owner dbms_sql.varchar2s ;
va_table dbms_sql.varchar2s ;
va_col dbms_sql.varchar2s ;
va_defv dbms_sql.varchar2s ;
begin
/*
for row_tab_col in cur_tab_col loop
insert into tmp_tab_columns_comp
(OWNER, TABLE_NAME, COLUMN_NAME, DATA_DEFAULT)
values
(row_tab_col.OWNER, row_tab_col.TABLE_NAME, row_tab_col.COLUMN_NAME, row_tab_col.DATA_DEFAULT) ;
end loop;
*/
select OWNER, TABLE_NAME, COLUMN_NAME, DATA_DEFAULT
bulk collect into
va_owner, va_table, va_col, va_defv
from dba_tab_columns a
where a.OWNER IN ('GLPLATFORM',
'SALESMGMT',
'TRADEMGMT',
'ENGINE',
'HOMELINK',
'PROCESSPLATFORM',
'USERMGR',
'SYSMGR',
'COMMONFRAMEWORK',
'OWNERS');
forall i in va_owner.first..va_owner.last
insert into tmp_tab_columns_comp
(OWNER, TABLE_NAME, COLUMN_NAME, DATA_DEFAULT)
values
(va_owner(i), va_table(i), va_col(i), va_defv(i) ) ;
end;
/*
INSERT INTO TMP_TAB_COLUMNS
select OWNER, TABLE_NAME, COLUMN_NAME, CAST(DATA_DEFAULT AS VARCHAR2(100)) DV
from dba_tab_columns a where a.OWNER IN ('GLPLATFORM','SALESMGMT','TRADEMGMT','ENGINE','HOMELINK', 'PROCESSPLATFORM','USERMGR','SYSMGR','COMMONFRAMEWORK','OWNERS') ;
CREATE TABLE TMP_TAB_COLUMNS (
OWNER VARCHAR2(30),
TABLE_NAME VARCHAR2(30),
COLUMN_NAME VARCHAR2(30),
DATA_DEFAULT VARCHAR2(100));
*/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/350519/viewspace-1048446/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 修改欄位型別和長度Oracle型別
- WuTongDB 特殊資料型別的實戰應用資料型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- [20181014]12Cr2 impdp使用NETWORK_LINK支援LONG欄位型別.txt型別
- MongoDB更改欄位型別MongoDB型別
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- JSON欄位型別在ORM中的使用JSON型別ORM
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- 多型關聯自定義的型別欄位的處理多型型別
- sql語句修改欄位型別和增加欄位SQL型別
- Oracle-欄位的新增Oracle
- ES Mapping ,1 欄位型別APP型別
- MySQL欄位型別最全解析MySql型別
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- PHP 操作 mysql blob 資料型別的欄位PHPMySql資料型別
- long long的加法溢位情況
- 沿著平滑的曲線學會 JavaScript 中的隱式強制型別轉換(實戰應用篇)JavaScript型別
- 【mongo】mongo 欄位型別互轉Go型別
- springMvc DeferredResult的long polling應用SpringMVC
- 欄位管理,為什麼只有新增的時候才自動匹配欄位型別型別
- 用Elasticsearch做大規模資料的多欄位、多型別索引檢索Elasticsearch多型型別索引
- 測試Java中的long,int基本型別Java型別
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- mysql表操作(alter)/mysql欄位型別MySql型別
- oracle 修改表欄位的長度Oracle
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- SAP WM中階儲存型別裡的Full stk rmvl 欄位和Return Storage type欄位型別
- SQL字元型欄位按數字型欄位排序實現方法SQL字元排序
- Oracle資料型別對應Java型別Oracle資料型別Java
- Js實現Object按照值的某個欄位(數值型別)的大小進行排序JSObject型別排序
- Oracle 計算欄位選擇性 判別列的索引潛力Oracle索引
- 讀取oracle long型別及判斷是否自動分割槽表Oracle型別
- 為什麼資料庫表的int型別欄位對映到實體類中要使用Integer型別,而不是int型別?...資料庫型別
- mssql sqlserver 可以儲存二進位制資料的欄位型別詳解SQLServer型別
- 資料型別第2篇「字典和集合的原理和應用」資料型別
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- 支援 enum 型別的欄位允許為空插入資料庫型別資料庫
- Spring Mvc Long型別精度丟失SpringMVC型別
- 想問下,onethink建立模型的時候建立價格欄位需要2位小數用什麼型別模型型別