【发布时间】:2013-06-03 12:01:57
【问题描述】:
我尝试将一些数据从 csv 导入表格。 csv 位于服务器上,我尝试将其复制到外部表以将其内容复制到主数据表。 如果没有这个错误,我什至无法保存代码:
PLS-00103:在预期以下情况之一时遇到符号“EXTERNAL”::=。 (@%;
它在 SQL Developer 中运行良好。
BEGIN
EXECUTE IMMEDIATE'
CREATE TABLE "MY_TABLE_CSV"
( "C1" VARCHAR2(255),
"C2" VARCHAR2(255),
"C3" VARCHAR2(255),
"C4" VARCHAR2(255),
"C5" VARCHAR2(255),
"C6" VARCHAR2(255),
"C7" VARCHAR2(255),
"C8" VARCHAR2(255),
"C9" VARCHAR2(255),
"C10" VARCHAR2(255),
"C11" VARCHAR2(255),
"C12" VARCHAR2(255),
"C13" VARCHAR2(255),
"C14" VARCHAR2(255),
"C15" VARCHAR2(255),
"C16" VARCHAR2(255),
"C17" VARCHAR2(255),
"C18" VARCHAR2(255),
"C19" VARCHAR2(255),
"C20" VARCHAR2(255)
)';
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY SOME_FOLDER
ACCESS PARAMETERS (
records delimited BY newline
fields terminated BY ';'
optionally enclosed BY '"'
lrtrim
missing field VALUES are NULL
)
LOCATION ('foo.csv')
);
END;
我工作的服务器在 Apex 4.2.2 上运行。
我已经尝试将其放入匿名块中。
提前致谢!
编辑:我之前也尝试过删除表,甚至不创建表,而只是删除它的内容。它永远不会起作用。
EDIT2:我更新了代码。还有错误消息。
【问题讨论】:
-
您在列列表的末尾有一个虚假的引号
)';,嵌入的引号没有被转义,并且您错过了 create table 命令末尾的结束引号。
标签: sql csv import plsql oracle-apex