WEB开发网
开发学院数据库Oracle Oracle的LOB字段学习 阅读

Oracle的LOB字段学习

 2007-06-02 16:08:56 来源:WEB开发网   
核心提示:SQL> create table IMAGE_LOB (T_ID varchar2(5) not null, T_IMAGE blob not null ); 表已创建,SQL> commit;提交完成,Oracle的LOB字段学习(2),SQL> get E:\insertimg1 create

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:\tu1.jpg');

PL/SQL 过程已成功完成。

SQL> @e:\insertimg

过程已创建。

SQL> exec img_insert('2', 'e:\tu2.jpg');

PL/SQL 过程已成功完成。

SQL> select count(*) from image_lob;

COUNT(*)
----------
3

SQL> @e:\insertimg

过程已创建。
PL/SQL 过程已成功完成。

SQL> @e:\insertimg

过程已创建。

PL/SQL 过程已成功完成。

SQL> @e:\insertimg

过程已创建。


PL/SQL 过程已成功完成。

SQL> @e:\insertimg

过程已创建。

PL/SQL 过程已成功完成。

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 dbms_output.put_line('Now begin');
8 insert into image_lob (t_id, t_image) values (tid, empty_blob()) return t_image into B_LOB;
9 F_LOB := bfilename('IMAGES', filename);
10 dbms_output.put_line('Open success');
11 dbms_output.put_line('Now open :' || filename);
12 dbms_lob.fileopen(F_LOB, dbms_lob.file_readonly);
13 dbms_lob.loadfromfile(B_LOB, F_LOB, dbms_lob.getlength(F_LOB));
14 dbms_lob.fileclose(F_LOB);
15 commit;
16 EXCEPTION
17 when others
18 then
19 DBMS_OUTPUT.PUT_LINE('OTHERS Exception ' || sqlerrm );
20* end;
21 /

过程已创建。

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 dbms_output.put_line('Now begin');
8 insert into image_lob (t_id, t_image) values (tid, empty_blob()) return t_image into B_LOB;
9 F_LOB := bfilename('IMAGES', filename);
10 dbms_output.put_line('Open success');
11 dbms_output.put_line('Now open :' || filename);
12 dbms_lob.fileopen(F_LOB, dbms_lob.file_readonly);
13 dbms_lob.loadfromfile(B_LOB, F_LOB, dbms_lob.getlength(F_LOB));
14 dbms_lob.fileclose(F_LOB);
15 commit;
16 EXCEPTION
17 when others
18 then
19 DBMS_OUTPUT.PUT_LINE('OTHERS Exception ' || sqlerrm );
20* end;

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
ANYDATATAB
BFILETEST
BLOBTEST
BONUS
DEPT
EMP
IMAGE_LOB
LINEITEM_CV
LINEITEM_DP
SALGRADE
TAB2

TABLE_NAME
------------------------------
TEST
TEST2
VIEW_SITES_INFO

已选择14行。

上一页  1 2 

Tags:Oracle LOB 字段

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接