在Oracle數據庫中,使用DBMS_LOB包中的LOADFROMFILE和WRITE操作可以實現LOB數據的導入和導出。
DECLARE
l_blob BLOB;
l_bfile BFILE := BFILENAME('LOBDIR', 'file_name.txt'); -- 指定LOB文件的路徑
BEGIN
DBMS_LOB.OPEN(l_bfile, DBMS_LOB.LOB_READONLY);
DBMS_LOB.CREATETEMPORARY(l_blob, TRUE);
DBMS_LOB.LOADFROMFILE (l_blob, l_bfile, DBMS_LOB.GETLENGTH(l_bfile));
-- 將LOB數據插入到數據庫表中
INSERT INTO table_name (lob_column) VALUES (l_blob);
DBMS_LOB.CLOSE(l_bfile);
DBMS_LOB.FREETEMPORARY(l_blob);
END;
/
DECLARE
l_blob BLOB;
l_bfile BFILE := BFILENAME('LOBDIR', 'file_name.txt'); -- 指定導出文件的路徑
BEGIN
SELECT lob_column INTO l_blob FROM table_name WHERE condition;
DBMS_LOB.OPEN(l_bfile, DBMS_LOB.LOB_WRITEONLY);
DBMS_LOB.FILEOPEN(l_bfile, DBMS_LOB.FILE_OVERWRITE);
DBMS_LOB.LOADFROMFILE (l_bfile, l_blob, DBMS_LOB.GETLENGTH(l_blob));
DBMS_LOB.FILECLOSE(l_bfile);
DBMS_LOB.CLOSE(l_blob);
END;
/
在上述示例中,需要自行替換LOBDIR
、file_name.txt
、table_name
和lob_column
等參數為實際的目錄、文件名、表名和LOB列名。同時,需要根據具體情況修改SQL語句中的條件部分。