修正一下:发贴是出了一点错,原码是
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;未选定行

解决方案 »

  1.   

    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);
          else
             insert into test values(4,'not success');
      7   END IF;
      8  END;
      9  /
      

  2.   

    不可以的,我的test表的第二列是BFILE类型,不能插入字符串的!
      

  3.   

    我insert后commit也不行,不知是什么原因!
      

  4.   

    我想让你看看,是不是DBMS_LOB.FILEEXISTS(V_FILE) <> 1set serverout onSQL> 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);
          else
             dbms_output.put_line('not success');
      7   END IF;
      8  END;
      9  /
      

  5.   

    'not success'有没有显示出来
      

  6.   

    SQL> ed
    已写入文件 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\';
      

  7.   


      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;未选定行
    我的过程是可以成功执行的,但表里面没有数据!是怎么回事啊!
      

  8.   

    我换了一个存在的文件,也不行,就是IF的判断条件不成功!这是怎么回事?难道是我的BUG!
      

  9.   

    这个应该是没有commit的问题.
    你commit;之后再试.
      

  10.   

    换个其它的目录和文件create or replace directory b_file as 'd:\...'
      

  11.   

    当我把路径加入进去后报如下错误:ORA-22288: 文件或 LOB 操作FILEEXISTs失败
    这是什么原因呢?