修正一下:发贴是出了一点错,原码是
SQL> DECLARE
2 V_FILE BFILE;
3 BEGIN
4 V_FILE :=BFILENAME('B_FILE','jintian.gif');
5 IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN
6 INSERT INTO test VALUES(4,v_file);
7 END IF;
8 END;
9 /PL/SQL 过程已成功完成。SQL> select id from test;未选定行
SQL> DECLARE
2 V_FILE BFILE;
3 BEGIN
4 V_FILE :=BFILENAME('B_FILE','jintian.gif');
5 IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN
6 INSERT INTO test VALUES(4,v_file);
7 END IF;
8 END;
9 /PL/SQL 过程已成功完成。SQL> select id from test;未选定行
2 V_FILE BFILE;
3 BEGIN
4 V_FILE :=BFILENAME('B_FILE','jintian.gif');
5 IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN
6 INSERT INTO test VALUES(4,v_file);
else
insert into test values(4,'not success');
7 END IF;
8 END;
9 /
2 V_FILE BFILE;
3 BEGIN
4 V_FILE :=BFILENAME('B_FILE','jintian.gif');
5 IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN
6 INSERT INTO test VALUES(4,v_file);
else
dbms_output.put_line('not success');
7 END IF;
8 END;
9 /
已写入文件 afiedt.buf 1 DECLARE
2 V_FILE BFILE;
3 BEGIN
4 V_FILE :=BFILENAME('B_FILE','clqk_in.fmt');
5 IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN
6 dbms_output.put_line('has inserted');
7 else
8 dbms_output.put_line('not success');
9 END IF;
10* END;
SQL> /
has insertedPL/SQL 过程已成功完成。SQL> 我的机器上能成功啊,看看是不是你文件的文件名拼错了?还有可能按下面的改一下
CREATE DIRECTORY B_FILE AS 'C:\TEMP\';
1 DECLARE
2 V_FILE BFILE;
3 BEGIN
4 V_FILE :=BFILENAME('B_FILE','jintian.gif');
5 IF DBMS_LOB.FILEEXISTS(V_FILE) = 1 THEN
6 INSERT INTO TEST VALUES(1,V_FILE);
7 COMMIT;
8 ELSE
9 DBMS_OUTPUT.PUT_LINE('not success!');
10 END IF;
11* END;
12 /PL/SQL 过程已成功完成。SQL> SELECT ID FROM TEST;未选定行
我的过程是可以成功执行的,但表里面没有数据!是怎么回事啊!
你commit;之后再试.
这是什么原因呢?