Oracle进阶LOB字段学习
添加时间: 2008-4-26 1:12:10 作者: Oracle指导 阅读次数:21 来源: http://www.d9soft.com
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID NUMBER(3)
FNAME BINARY FILE LOB
SQL> insert into BFILETEST values (1, bfilename(’tempdir’, ’C:Documents and SettingsAdministratorMy DocumentsMy Pictures u1.jpg’));
已创建 1 行。
SQL> get E:insertimg
1 create or replace procedure img_insert (
2 tid varchar2,
3 filename varchar2) as
4 F_LOB BFILE;
5 B_LOB BLOB;
6 begin
7 insert into image_lob (t_id, t_image) values (tid, empty_blob()) return t_image into B_LOB;
8 F_LOB := bfilename(’images’, filename);
9 dbms_lob.fileopen(F_LOB, dbms_lob.file_readonly);
10 dbms_lob.loadfromfile(B_LOB, F_LOB, dbms_lob.getlength(F_LOB));
11 dbms_lob.fileclose(F_LOB);
12 commit;
13* end;
SQL> r
1 create or replace procedure img_insert (
2 tid varchar2,
3 filename varchar2) as
4 F_LOB BFILE;
5 B_LOB BLOB;
6 begin
7 insert into image_lob (t_id, t_image) values (tid, empty_blob()) return t_image into B_LOB;
8 F_LOB := bfilename(’images’, filename);
9 dbms_lob.fileopen(F_LOB, dbms_lob.file_readonly);
10 dbms_lob.loadfromfile(B_LOB, F_LOB, dbms_lob.getlength(F_LOB));
11 dbms_lob.fileclose(F_LOB);
12 commit;
13* end;
SQL> create table IMAGE_LOB (T_ID varchar2(5) not null, T_IMAGE blob not null );
表已创建。
SQL> commit;
提交完成。
SQL> get E:insertimg
1 create or replace procedure img_insert (
2 tid varchar2,
3 filename varchar2) as
4 F_LOB BFILE;
5 B_LOB BLOB;
6 begin
7 insert into image_lob (t_id, t_image) values (tid, empty_blob()) return t_image into B_LOB;
8 F_LOB := bfilename(’images’, filename);
9 dbms_lob.fileopen(F_LOB, dbms_lob.file_readonly);
10 dbms_lob.loadfromfile(B_LOB, F_LOB, dbms_lob.getlength(F_LOB));
11 dbms_lob.fileclose(F_LOB);
12 commit;
13* end;
SQL> r
1 create or replace procedure img_insert (
2 tid varchar2,
3 filename varchar2) as
4 F_LOB BFILE;
5 B_LOB BLOB;
6 begin
7 insert into image_lob (t_id, t_image) values (tid, empty_blob()) return t_image into B_LOB;
8 F_LOB := bfilename(’images’, filename);
9 dbms_lob.fileopen(F_LOB, dbms_lob.file_readonly);
10 dbms_lob.loadfromfile(B_LOB, F_LOB, dbms_lob.getlength(F_LOB));
11 dbms_lob.fileclose(F_LOB);
12 commit;
13* end;
过程已创建。
SQL> commit;
提交完成。
SQL> commit;
提交完成。
SQL> $cls
SQL> @e:insertimg
过程已创建。
SQL> commit;
提交完成。
SQL> exec img_insert(’1’, ’e: u1.jpg’);
PL/SQL 过程已成功完成。
SQL> @e:insertimg
过程已创建。
SQL> exec img_insert(’2’, ’e: u2.jpg’);
PL/SQL 过程已成功完成。
SQL> select count(*) from image_lob;
COUNT(*)
----------
3
SQL> @e:insertimg
过程已创建。
PL/SQL 过程已成功完成。
SQL> @e:insertimg
过程已创建。
PL/SQL 过程已成功完成。
SQL> @e:insertimg
过程已创建。
Oracle进阶LOB字段学习(3) 第 [1] [2] [3] [4] [5] 下一页
上一篇文章: 在同一台机运行多个Mysql服务(下) 下一篇文章: 理解Oracle10g的SQL正则表达式支持

