如何修改和删除类型的数据计划
2021-09-06 来源:开平租房网
1.先在oracle数据库中下面我们建立一个目录别名,用于将文件定位指针映射到文
件系统:
create DIRECTORY \'tmpdir\' AS \'/tmp\';
tmpdir表示逻辑目录名,\'/tmp\'是实际目录。 注意该目录oracle应该有读权限
然后根据需要授权
GRANT READ ON DIRECTORY bfile_dir1 TO scott;
建立一个含有bfile字段的表
create table bfiletest(id number(3), fname bfile);
2.插入数据
这里需要使用bfilename来进行bfile字段的insert 或者 update操作
[code:1:bb5d3f600c]
INSERT INTO bfiletest
VALUES (1, BFILENAME (\'tmpdir\', \'tmptest\'));
[/code:1:bb5d3f600c]
bfilename的参数1是DIRECTORY名,参数2是文件名。注意:这一行中插入的是
一个指向/tmp/tmptest的文件定位指针映射,不是文件本身。
3.读取bfile
通过使用dbms_lob包进行可以对bfile读入到blob/clob对象中操作(只读)
[code:1:bb5d3f600c]
CREATE OR REPLACE PROCEDURE loadLOBFromBFILE_proc IS
Dest_loc BLOB;
Src_loc BFILE := BFILENAME(\'tmpdir\', \'tmptest\');
这一成本还将随着技术的不断成熟而更低 BEGIN
SELECT blob_col INTO Dest_loc FROM aBLOBtable
WHERE ID= 111
FOR UPDATE;
/* 如果bfile文件实际存在 */
IF (DBMS_LEEXISTS(Src_loc) != 0)
THEN
/* 打开bfile源文件 */
DBMS_EN(Src_loc, DBMS_B_READONLY);
/* 打开目标blob: */
DBMS_EN(Dest_loc, DBMS_B_READWRITE);
/*从文件中装入 */
DBMS_ADFROMFILE(Dest_loc, Src_loc,DBMS_TLENGTH(Src_loc));
/* 记得关闭: */
DBMS_OSE(Dest_loc);
DBMS_OSE(Src_loc);
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_T_LINE(\'Operation failed\');
END;
[/code:1:bb5d3f600c]
会话能打开多少个文件有init参数SESSION_MAX_OPEN_FILES决定
文件大小由OS决定, 32位的文件系统为每个文件2gb或4gb
查看本文来源
英太青胶囊郑州哪里有白癜风医院
合肥治疗阳痿多少钱
-
- 上一篇
- 如何修改背景色物业
-
- 下一篇
- 如何修改自定义的标题覆盖