校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ORACLE批量導入圖片到BLOB字段代碼示例

ORACLE批量導入圖片到BLOB字段代碼示例

熱門標簽:安陽外呼系統免費 濟南地圖標注公司 400電話是不是免費申請 貴陽電話外呼系統哪家好 海南400電話哪里辦理 南寧人工智能電銷機器人費用 圖像地圖標注 呼倫貝爾智能手機地圖標注 分布式呼叫中心

要插入圖片的表不是固定的,而且是批量插入很多張,還要考慮到因為圖片的文件名錯誤,修改后要再次插入,此時應避免已經插入的重復執行操作, 浪費時間。

所以就選擇先用一張臨時表來暫時保存從文件系統讀取的照片,用DBMS_LOB的方法來處理。

第一步:創建一個數據庫可以訪問的目錄(注意:這個目錄是數據庫服務器上的目錄,不是客戶機上的)

-- Create directory 
create or replace directory 圖片目錄
 as 'E:\照片';

第二步:將圖片文件放入剛建好的目錄下面,不要在新建文件夾,就放在這個根目錄

第三步:根據自己的具體需求,編寫存儲過程,在做之前,我也在網上找了很多,但基本都只是大概說一下,沒有找到比較完整的,這里就把自己的項目源碼貼出來,供大家學習交流。

CREATE OR REPLACE PROCEDURE PRO_插入圖片(V_表名 IN VARCHAR2) IS
 P_FILENAME VARCHAR2(50); --照片名,動態拼接得到
 P_證件號碼 VARCHAR2(50);
 P_姓名   VARCHAR2(50);--這個照片名是通過姓名+證件號拼接得到的,因為基礎測試數據沒有提供真實的證件號碼,就選擇用手機號來代替
 P_查詢SQL VARCHAR2(500);
 P_更新SQL VARCHAR2(5000);
 P_LOB   BLOB;
 P_FILE   BFILE;
 TYPE P_REF_CURSOR IS REF CURSOR; --定義動態游標變量類型
 P_CURSOR P_REF_CURSOR; --定義動態游標變量,因為一次要插入全表的照片,所以選擇用游標來處理
 TYPE P_ROW_RECORD IS RECORD(
  證件號碼 VARCHAR2(50),
  姓名   VARCHAR2(50));
 C_ROW P_ROW_RECORD;
 V_ERR VARCHAR2(300);
BEGIN
 P_更新SQL := 'update ' || V_表名 || ' set 證件號碼=手機號碼 WHERE 證件號碼 IS NULL';
--用手機號來代替證件號碼為空的數據
 EXECUTE IMMEDIATE P_更新SQL;
 COMMIT;
 P_查詢SQL := 'SELECT 證件號碼,姓名 FROM ' || V_表名 ||
       ' WHERE 證件號碼 IS NOT NULL and 照片 IS NULL order by 證件號碼';
 OPEN P_CURSOR FOR P_查詢SQL;
 LOOP
  begin
   FETCH P_CURSOR
    INTO C_ROW;
   EXIT WHEN P_CURSOR%NOTFOUND;

--獲取證件號碼和姓名,先排除空格等臟數據,然后拼接成文件名;

   P_證件號碼 := C_ROW.證件號碼;
   P_姓名   := C_ROW.姓名;
   SELECT REPLACE(P_證件號碼, ' ', '') INTO P_證件號碼 FROM DUAL;
   SELECT substr(P_證件號碼, 1, 11) INTO P_證件號碼 FROM DUAL;
   SELECT REPLACE(P_姓名, ' ', '') INTO P_姓名 FROM DUAL;
   P_FILENAME := P_證件號碼 || P_姓名 || '.jpg';
   SELECT REPLACE(P_FILENAME, ' ', '') INTO P_FILENAME FROM DUAL;
--以下便是插入圖片的核心代碼
   INSERT INTO TA_照片總表_TEMP
    (證件號碼, 姓名, 照片)
   VALUES
    (P_證件號碼, P_姓名, EMPTY_BLOB()) RETURN 照片 INTO P_LOB;
   --獲取指定目錄下的文件
   P_FILE := BFILENAME('圖片目錄', P_FILENAME);
   --以只讀的方式打開文件
   DBMS_LOB.FILEOPEN(P_FILE, DBMS_LOB.FILE_READONLY);
   --傳遞對象
   DBMS_LOB.LOADFROMFILE(P_LOB, P_FILE, DBMS_LOB.GETLENGTH(P_FILE));
   --關閉原始文件
   DBMS_LOB.FILECLOSE(P_FILE);
   COMMIT;

--通過更新語句來向目標表插入圖片

   P_更新SQL := 'UPDATE ' || V_表名 ||
         ' A SET a.照片=(SELECT 照片 FROM TA_照片總表_TEMP b 
         WHERE A.證件號碼 = B.證件號碼 and a.姓名=b.姓名 AND ROWNUM=1)
   WHERE EXISTS (SELECT 1 FROM TA_照片總表_TEMP B WHERE A.證件號碼 = B.證件號碼 and a.姓名=b.姓名)';
   EXECUTE IMMEDIATE P_更新SQL;
   COMMIT;
  EXCEPTION

--處理異常情況,這個可以在出現異常時跳過異常繼續跑。正常數據依然可以插入,并且記錄異常信息,方便異常處理。這個是因為第一次寫的過程一報錯就斷掉了,本來可以插入的圖片也無法繼續,然后就做了這個優化。

   WHEN OTHERS THEN
    rollback;
    V_ERR := SUBSTR(SQLERRM, 1, 150) || '照片名:' || P_FILENAME;

--定義一張異常信息記錄表,是一個非常好的習慣

    INSERT INTO TA_程序運行異常記錄
    VALUES
     (SQ_異常序列.NEXTVAL, 'PRO_插入圖片', V_ERR, SYSDATE);
    COMMIT;
  end;
 END LOOP;
 CLOSE P_CURSOR;
 COMMIT;
 DELETE TA_照片總表_TEMP;
 COMMIT;
END PRO_插入圖片;

總結

然后測試、運行,基本都沒問題,不過圖片的大小,很影響實際插入的時間,這個時間的優化目前還沒有好的對策。

以上就是本文關于ORACLE批量導入圖片到BLOB字段代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以參閱:oracle 數據庫啟動階段分析 、ORACLE SQL語句優化技術要點解析 、oracle中length、lengthb、substr、substrb函數用法介紹 等,有什么問題可以隨時留言,小編會及時回復大家的。也希望朋友們對腳本之家網站多多支持!

您可能感興趣的文章:
  • Linux下修改Oracle監聽地址的方法
  • oracle數據庫導入導出命令解析
  • ORACLE SQL語句優化技術要點解析
  • 常用的Oracle doc命令(收藏)
  • Python使用cx_Oracle調用Oracle存儲過程的方法示例
  • 淺談oracle rac和分布式數據庫的區別
  • oracle數據匹配merge into的實例詳解

標簽:滁州 合肥 郴州 遼源 涼山 南充 焦作 許昌

巨人網絡通訊聲明:本文標題《ORACLE批量導入圖片到BLOB字段代碼示例》,本文關鍵詞  ORACLE,批量,導入,圖片,到,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ORACLE批量導入圖片到BLOB字段代碼示例》相關的同類信息!
  • 本頁收集關于ORACLE批量導入圖片到BLOB字段代碼示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    99久久久精品免费观看国产蜜| 奇米四色…亚洲| 亚洲国产三级在线| 欧美三级视频在线播放| 亚洲综合视频网| 7777精品伊人久久久大香线蕉的 | 色婷婷综合中文久久一本| 亚洲精品国产一区二区三区四区在线| 99精品在线观看视频| 亚洲精品视频在线| 欧美日韩午夜在线| 精品一区二区三区在线观看国产| 久久久欧美精品sm网站| 99re热视频这里只精品| 麻豆免费看一区二区三区| 久久久久久久久久美女| 色综合久久综合| 蜜桃av一区二区| 日韩毛片高清在线播放| 宅男噜噜噜66一区二区66| 国产高清不卡一区| 亚洲一区免费视频| 国产色产综合产在线视频| 色999日韩国产欧美一区二区| 蜜臀99久久精品久久久久久软件| 国产精品萝li| 日韩免费成人网| 日本乱人伦一区| 国产成人综合亚洲网站| 亚洲国产精品久久久久婷婷884| 精品国产青草久久久久福利| 欧洲精品一区二区| 99精品桃花视频在线观看| 蜜臀av性久久久久蜜臀aⅴ| 亚洲精品国产一区二区三区四区在线| 26uuu成人网一区二区三区| 欧美乱熟臀69xxxxxx| 一本大道av伊人久久综合| 国产成人精品亚洲日本在线桃色 | 成人夜色视频网站在线观看| 蜜桃视频一区二区| 日本va欧美va欧美va精品| 一区二区三区四区乱视频| 国产女人aaa级久久久级| 欧美一级日韩一级| 国产乱码精品一区二区三区五月婷| 中文一区一区三区高中清不卡| 91麻豆精品国产91久久久| 床上的激情91.| 国内一区二区在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美性视频一区二区三区| 精东粉嫩av免费一区二区三区| 亚洲一区二区美女| 国产精品久久久久久久久动漫| 精品美女一区二区| 在线不卡一区二区| 欧美人狂配大交3d怪物一区| 99久久er热在这里只有精品15| 亚洲国产一区视频| 亚洲欧洲日韩av| 亚洲精品老司机| 成人免费在线播放视频| 国产亚洲欧美日韩在线一区| 2023国产精品视频| 久久久久国产成人精品亚洲午夜| 久久免费看少妇高潮| 欧美va亚洲va国产综合| 精品91自产拍在线观看一区| 欧美成人精品高清在线播放| 日韩精品资源二区在线| 欧美mv日韩mv亚洲| 国产亚洲欧美激情| 亚洲欧美成aⅴ人在线观看| 一区二区三区在线影院| 亚洲1区2区3区4区| 麻豆国产欧美日韩综合精品二区| 免费视频最近日韩| 色香蕉成人二区免费| 欧美二区乱c少妇| 欧美日韩aaaaa| 欧美精品一区在线观看| 国产精品久久久久久久午夜片| 亚洲欧美一区二区视频| 日本乱人伦一区| 色屁屁一区二区| 3d成人动漫网站| 精品三级av在线| 久久精品欧美日韩| 亚洲伦理在线精品| 亚洲成人福利片| 精品一区二区三区在线播放| 国产精品一区二区91| 国产精品成人一区二区三区夜夜夜| 欧美激情在线一区二区三区| 中文字幕电影一区| 一区二区三区四区在线| 麻豆91精品91久久久的内涵| 国产精品一二三四区| 色婷婷激情久久| 国产亚洲午夜高清国产拍精品| 亚洲一区二区免费视频| 国产综合一区二区| 欧美午夜精品理论片a级按摩| 欧美精品一区二区三区很污很色的 | 成人免费视频caoporn| 欧美日韩视频一区二区| 中文字幕巨乱亚洲| 亚洲成a人v欧美综合天堂 | 337p粉嫩大胆噜噜噜噜噜91av| 国产无人区一区二区三区| 亚洲亚洲精品在线观看| 懂色av一区二区在线播放| 欧美日韩激情一区| 国产日韩欧美在线一区| 亚洲第一久久影院| 色av一区二区| 国产精品视频一区二区三区不卡| 亚洲成人一区二区在线观看| 国产成人午夜视频| 久久综合久久综合久久| 一级精品视频在线观看宜春院| 国产精品自拍三区| 日韩亚洲欧美一区| 亚洲香肠在线观看| 色av成人天堂桃色av| 国产日产亚洲精品系列| 五月婷婷色综合| 欧美亚洲综合另类| 一区二区三区在线播| 色哟哟精品一区| 国产亚洲欧洲997久久综合 | 九九九久久久精品| 88在线观看91蜜桃国自产| 亚洲一区二区在线观看视频| 91香蕉视频在线| 亚洲视频在线观看一区| 成人免费高清在线| 国产精品无码永久免费888| 久久av中文字幕片| 2014亚洲片线观看视频免费| 亚洲成人久久影院| 久久久亚洲午夜电影| 久久成人免费日本黄色| 欧美视频精品在线| 亚洲永久精品大片| 欧美日韩一区三区四区| 亚洲天堂av老司机| 色噜噜夜夜夜综合网| 亚洲三级小视频| 在线亚洲欧美专区二区| 亚洲综合av网| 欧洲激情一区二区| 另类欧美日韩国产在线| 国产欧美一区二区精品秋霞影院| 国产麻豆欧美日韩一区| 国产精品区一区二区三| 成人高清免费在线播放| 国产精品美女久久久久av爽李琼| 成人一区二区视频| 1024国产精品| 欧美视频一区在线观看| 蜜乳av一区二区| 中文一区在线播放| 白白色 亚洲乱淫| 一区二区三区四区在线免费观看| 欧美系列日韩一区| 日韩不卡免费视频| 国产欧美日本一区二区三区| 欧美伊人精品成人久久综合97| 一区二区三区四区国产精品| 亚洲精品一区二区三区福利 | 欧美一区永久视频免费观看| 成人av综合在线| 日韩电影免费在线观看网站| 国产婷婷一区二区| 欧美吻胸吃奶大尺度电影| 蜜乳av一区二区三区| 一区二区不卡在线播放| 久久品道一品道久久精品| 欧美日韩午夜影院| 99精品国产一区二区三区不卡| 丝袜美腿亚洲一区二区图片| 国产精品久久久久9999吃药| 欧美一级欧美一级在线播放| 色香色香欲天天天影视综合网| 国产在线播精品第三| 日欧美一区二区| 亚洲精品成人悠悠色影视| 26uuu欧美| 欧美一区二区二区| 欧美日韩精品一区二区三区蜜桃 | 99re在线精品| 国产成人av电影在线| 蜜臀久久99精品久久久画质超高清 | 日韩欧美亚洲国产另类| 一本久久a久久精品亚洲| 成人黄色电影在线| 国产福利一区二区三区在线视频| 国产一区在线观看视频|