Oracle PLS-00103:在预期以下情况时遇到符号“”

Oracle PLS-00103:在预期以下情况时遇到符号“”,oracle,oracle11g,oracle10g,blob,Oracle,Oracle11g,Oracle10g,Blob,我正在尝试插入文档,这些文档将本地系统中的一个文件夹呈现给oracle表。 我得到的错误如下: 错误15,7:PLS-00103:期望符号时遇到符号 其中: 常量异常表长\双参考字符时间戳 间隔日期二进制国家字符nchar 有人能帮我吗。我们使用插入。。。价值观插入一行文字时。但您是从查询中插入的,因此不需要值位: INSERT INTO MEMBER_DOCUMENT select empty_blob(),JF.FILE_CREATED,JF.FILE_FILE_EXTENSI

我正在尝试插入文档,这些文档将本地系统中的一个文件夹呈现给oracle表。 我得到的错误如下:

错误15,7:PLS-00103:期望符号时遇到符号 其中: 常量异常表长\双参考字符时间戳 间隔日期二进制国家字符nchar


有人能帮我吗。

我们使用插入。。。价值观插入一行文字时。但您是从查询中插入的,因此不需要值位:

INSERT INTO MEMBER_DOCUMENT 
      select empty_blob(),JF.FILE_CREATED,JF.FILE_FILE_EXTENSION
      FROM FILES JF JOIN MEMBER M 
           ON M.MIG_OLD_ID=JF.PERSON_ID 
      where JF.FILE  ....
超越语法障碍,你的逻辑是错误的。您可能希望将该文件加载到数据库表中。您的代码无法实现这一点。请尝试以下方法:

DECLARE
    l_bfile BFILE;
    l_blob   BLOB;
BEGIN
    l_bfile := BFILENAME(exampleDir,'000d779789.pdf');
    DBMS_LOB.fileopen(l_bfile, Dbms_Lob.File_Readonly);
    DBMS_LOB.loadfromfile(l_blob, l_bfile, DBMS_LOB.getlength(l_bfile));
    DBMS_LOB.fileclose(l_bfile);

    INSERT INTO MEMBER_DOCUMENT 
    select l_blob,JF.FILE_CREATED,JF.FILE_FILE_EXTENSION
    FROM FILES JF JOIN MEMBER M 
    ON M.MIG_OLD_ID=JF.PERSON_ID 
    where JF.FILE_ID=1054;

    COMMIT;
END;
试试这个:

Declare
   L_bfile                       Bfile;
   L_blob                        Blob;
Begin
   Insert Into Member_document( Col1, Col2, Col3)
      (Select Empty_blob(), Jf.File_created, Jf.File_file_extension
         From Files Jf Join Member M On M.Mig_old_id = Jf.Person_id
        Where Jf.File_id = 1054)
   Return Document_file
     Into L_blob;
   L_bfile := Bfilename( Exampledir, '000d779789.pdf');
   Dbms_lob.Fileopen( L_bfile, Dbms_lob.File_readonly);
   Dbms_lob.Loadfromfile( L_blob, L_bfile, Dbms_lob.Getlength(L_bfile));
   Dbms_lob.Fileclose(L_bfile);

   Commit;
End;
其中col1、col2和col3是您的成员_文档的列名

将列名放在insert into中是一种很好的做法,因为当表结构更改时,会出现错误,因为表上的列与select中用于插入表的列不同,
希望这有帮助

这是您试图运行的整个脚本,还是在此之后还有其他命令?错误报告在第7列第15行,您只显示了14行。那么,您是否有另一个声明,可能之后,没有一个/中间?
Declare
   L_bfile                       Bfile;
   L_blob                        Blob;
Begin
   Insert Into Member_document( Col1, Col2, Col3)
      (Select Empty_blob(), Jf.File_created, Jf.File_file_extension
         From Files Jf Join Member M On M.Mig_old_id = Jf.Person_id
        Where Jf.File_id = 1054)
   Return Document_file
     Into L_blob;
   L_bfile := Bfilename( Exampledir, '000d779789.pdf');
   Dbms_lob.Fileopen( L_bfile, Dbms_lob.File_readonly);
   Dbms_lob.Loadfromfile( L_blob, L_bfile, Dbms_lob.Getlength(L_bfile));
   Dbms_lob.Fileclose(L_bfile);

   Commit;
End;