【发布时间】:2014-10-03 11:04:45
【问题描述】:
我正在将 csv 文件导入到 oracle 表中,我在 pl/sql 中编写了一个程序,该程序有一个输入参数,可以将文件名传递给程序。我想从 ms 访问(前端)给出那个 IN 参数值,我通过查询调用过程,因为我写了
call EXT_TABLE(),我怎么能在这里传递IN参数..我的plsql代码写在下面
CREATE OR REPLACE PROCEDURE EXT_TABLE (file_name in varchar2)
AS
L_QUERY VARCHAR2(1000) := NULL;
L_DROP VARCHAR2(10000) := NULL;
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE IMPORT_TEST
( EMP_ID NUMBER (10)
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY IMPORT
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY '',''
MISSING FIELD VALUES ARE NULL
)
LOCATION ('''||file_name ||''')
)reject limit unlimited';
L_QUERY:= 'INSERT INTO MPRN SELECT * FROM IMPORT_TEST';
EXECUTE IMMEDIATE L_QUERY;
L_DROP := 'drop table IMPORT_TEST ';
execute immediate L_DROP;
commit;
END EXT_TABLE;
Import 是目录,mprn 是我的文件名,它只有一列。 我想要来自 MS ACCESS 的文件名,我可以将其传递给程序并可以完成导入
【问题讨论】:
标签: oracle ms-access vba ms-access-2003