【发布时间】:2017-04-07 20:36:35
【问题描述】:
我使用的是 Oracle 11g,但在过程中创建外部表时遇到问题。它的创建没有错误,但是当我执行该过程时出现错误。
第一个参数是文件名,第二个参数是逗号,因为我在使用单引号包围逗号时遇到了问题,我在其中指定了以节结尾的字段。 DATA_DIR 已声明。
这是我尝试过的。
CREATE OR REPLACE PROCEDURE LOADTABLE
(
FILENAME VARCHAR2,
COMMA VARCHAR
)
AS
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE LOAD
(
USERNAME VARCHAR2(30)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DATA_DIR
ACCESS PARAMETERS
( FIELDS TERMINATED BY :COMMA)
LOCATION (:FILENAME)
)' USING IN COMMA, FILENAME;
END;
这就是我调用过程的方式
EXEC LOADTABLE('username.csv',',');
这是我得到的错误
ERROR at line 1:
ORA-00931: missing identifier
ORA-06512: at "DATA_ADMIN.LOADTABLE", line 9
ORA-06512: at line 1
任何帮助将不胜感激。
【问题讨论】:
标签: oracle plsql dynamic-sql external-tables