中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle數據庫clob字段處理

發布時間:2020-02-28 19:55:09 來源:網絡 閱讀:964 作者:18620626259 欄目:關系型數據庫

1、指定待插入字符串類型為clob,可以使用過程或存儲過程

例子:

DECLARE

?REALLYBIGTEXTSTRING CLOB := '待插入的海量字符串';

BEGIN

? ?INSERT INTO test_table VALUES('test', REALLYBIGTEXTSTRING, '0');

? ?commit;

end ;


2、blob字段數據轉換為clob類型

CREATE OR REPLACE FUNCTION blob_to_clob (blob_in IN BLOB) RETURN CLOB

? ?AS

? ? v_clob? ? CLOB;

? ? v_varchar VARCHAR2(32767);

? ? v_start PLS_INTEGER := 1;

? ? v_buffer PLS_INTEGER := 32767;

? ? tmp_num number;

? ? BEGIN

? ? ? ? DBMS_LOB.CREATETEMPORARY(v_clob, TRUE);?

? ? ? ? tmp_num := CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer);

? ? ? ? if tmp_num > 0 then --防止傳入的BLOB為NULL或長度為0時引發錯誤

? ? ? ? ? FOR i IN 1..tmp_num

? ? ? ? ? LOOP

? ? ? ? ? ? v_varchar := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in, v_buffer, v_start));?

? ? ? ? ? ? DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar);

? ? ? ? ? ? ?v_start := v_start + v_buffer;

? ? ? ? ? END LOOP;

? ? ? ? end if;?

? ? ? ? RETURN v_clob;?

? ? END blob_to_clob;


? ?2.調用blob_to_clob 來完成轉換


?update gs_gift p set p.description1=blob_to_clob(p.description);

?commit;


3、sqlload 大字段(LOB類型)的導入


https://www.open-open.com/pdf/aab245f2dcdb421f9c98ec00e695b8a6.html



http://blog.itpub.net/31015730/viewspace-2147266



https://blog.csdn.net/u011364306/article/details/50598321(操作參考文章)



1)數據保存在獨立的文件中


CREATE TABLE LOBTBL

(

FILEOWNER? ?VARCHAR2(30),

FILENAME? ? VARCHAR2(200),

FILESIZE? ? NUMBER,

FILEDATA? ? CLOB,

CREATE_DATE DATE

);



[oracle@cancer sqlldr]$ cat ldr_case12_2.dat

2016-1-27? 15:21? 183? ?oracle? /home/oracle/sqlldr/ldr_case11_1.dat

2016-1-27? 15:22? 150? ?oracle? /home/oracle/sqlldr/ldr_case11_1.ctl

2016-1-27? 15:22? 1,714 oracle? /home/oracle/sqlldr/ldr_case11_1.log

2016-1-27? 16:05? 166? ?oracle? /home/oracle/sqlldr/ldr_case11_2.ctl

2016-1-27? 16:13? 136? ?oracle? /home/oracle/sqlldr/ldr_case11_2.bad

2016-1-27? 16:13? 204? ?oracle? /home/oracle/sqlldr/ldr_case11_2.dat

2016-1-27? 16:13? 1,696 oracle? /home/oracle/sqlldr/ldr_case11_2.log

2016-1-27? 16:35? 120? ?oracle? /home/oracle/sqlldr/ldr_case11_3.ctl

2016-1-27? 16:55? 188? ?oracle? /home/oracle/sqlldr/ldr_case11_3.dat

2016-1-27? 16:55? 1,695 oracle? /home/oracle/sqlldr/ldr_case11_3.log

2016-1-27? 20:15? 183? ?oracle? /home/oracle/sqlldr/ldr_case11_4.dat

2016-1-27? 20:33? 126? ?oracle? /home/oracle/sqlldr/ldr_case11_4.ctl

2016-1-27? 20:33? 3? ? ?oracle? /home/oracle/sqlldr/ldr_case11_4.bad

2016-1-27? 20:33? 1,829 oracle? /home/oracle/sqlldr/ldr_case11_4.log

?

--控制文件



--控制文件

[oracle@cancer sqlldr]$ cat ldr_case12_2.ctl

LOAD DATA??

INFILE ldr_case12_2.dat??

TRUNCATE INTO TABLE LOBTBL??

(??

CREATE_DATE position(1:16) date 'yyyy-mm-dd hh34:mi',??

FILESIZE position(*+2:23) "to_number(:FILESIZE,'99,999,999')",??

FILEOWNER position(*+2:30),??

FILENAME position(*+2:68) "substr(:FILENAME,instr(:FILENAME,'/',-1)+1)",??

FILEDATA LOBFILE(FILENAME) TERMINATED BY EOF??

執行sqlldr命令,并查看結果


--執行sqlldr命令

[oracle@cancer sqlldr]$ sqlldr scott/tiger control=ldr_case12_2.ctl

要加載的數據沒有分隔符,而是固定長字符串時,可以在SQL*Loader的控制文件中通過position關鍵字用來指定列的開始和結束位置。position通常有下面3種寫法:


【SQL*Loader】SQL*Loader實驗之(5)--固定長字符串數據處理時position的3種寫法

http://blog.itpub.net/20335819/viewspace-698052/


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰考县| 礼泉县| 庆阳市| 通化市| 十堰市| 绩溪县| 铜山县| 商南县| 聊城市| 阿巴嘎旗| 富蕴县| 芜湖县| 外汇| 宜黄县| 商南县| 大兴区| 锡林郭勒盟| 平度市| 佛冈县| 遵义市| 宁河县| 视频| 台东市| 日喀则市| 南华县| 广安市| 英德市| 海安县| 乐东| 神农架林区| 泾源县| 扶沟县| 丰镇市| 乌恰县| 宜都市| 文化| 常德市| 大石桥市| 安岳县| 高陵县| 黎城县|