Oracle PLS-00103:在预期以下情况时遇到符号“”
我正在尝试插入文档,这些文档将本地系统中的一个文件夹呈现给oracle表。 我得到的错误如下: 错误15,7:PLS-00103:期望符号时遇到符号 其中: 常量异常表长\双参考字符时间戳 间隔日期二进制国家字符ncharOracle 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
有人能帮我吗。我们使用插入。。。价值观插入一行文字时。但您是从查询中插入的,因此不需要值位:
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;