如何在下面的查询中使用“喜欢”命令

2

我正在通过SQL * Loader将文本文件导入到Oracle表中,但是我不想提供文件的特定名称,我只想导入.txt文件扩展名文件。看下面的代码:

create or replace
PROCEDURE EXT_TABLE

AS 
A1 NUMBER ;
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 with .txt extension')
        )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; 
--execute immediate 'DROP IMPORT_TEST';
commit;
END EXT_TABLE;

在此位置,LOCATION ('file with .txt extension')我不想提供文件名,因为在目录中只有一个txt文件。我不想使用该IN参数。我只想从目录中搜索。用户将运行该过程,它将自动导入txt文件,而无需手动选择。

道格·波特

在大多数情况下,您将无法以纯PL / SQL方式执行此操作。这里列出了一种解决方法:使用PL / SQL在指定目录中列出文件,但考虑到对SYS的需求,而这可能并不是您所要查找的。之后,Java存储过程将是您最好的选择。

如果能够确定文件名,则可以通过立即执行执行重新定义外部表的位置。您可以将其放在这样的过程中,并在查询外部表之前使用它:

procedure alterExtTableFileName(a_tableName varchar2, a_filename varchar2) is
    pragma autonomous_transaction;
begin

    dbms_output.put_line('alterExtTableFileName(TableName=' || a_tableName || ' FileName=' || a_filename || ')');

    execute immediate 'alter table ' || a_tableName || ' LOCATION (''' || a_filename || ''')';
    commit;

exception when others then
    rollback;
    raise;

end alterExtTableFileName;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在下面的查询中如何使用“ like”命令

来自分类Dev

如何在下面的shell脚本中使用rsync而不是scp复制文件?

来自分类Dev

如何在下面的代码中使用systemNavigator.pop在Flutter中退出应用

来自分类Dev

我如何在下面的代码中使用for循环和.format来遍历不同的函数?

来自分类Dev

什么是嵌套循环以及如何在下面的示例中使用它?

来自分类Dev

如何在下面的示例中使用 Javascript 添加光标闪烁效果

来自分类Dev

在下面的代码中使用`setTimeout`?

来自分类Dev

如何在Anorm查询中使用“喜欢”?

来自分类Dev

如何在下面的mysql查询中避免重复行的情况?

来自分类Dev

如何在下面的查询中找到 ( SYSDATETIME()-1) < login_time ?

来自分类Dev

如何在下面的代码中添加滚动条?(使用Tkinter for 2.7.5)

来自分类Dev

如何在下面的代码中实现改组函数?

来自分类Dev

如何在下面的代码中更改文本的颜色?

来自分类Dev

如何在下面的语句中循环

来自分类Dev

如何在下面的代码中单击特定的href

来自分类Dev

如何在下面的形状周围添加框阴影

来自分类Dev

如何在下面的代码中打印正确的名称?

来自分类Dev

如何在下面的列表中添加数据?

来自分类Dev

在下面的代码中需要如何使用applyMap的帮助

来自分类Dev

如何在 MongoDB 中使用查询命令?

来自分类Dev

在下面的代码中使用toString()方法的目的是什么?

来自分类Dev

在下面的代码中使用template.library()和@ register.filter()的目的是什么

来自分类Dev

PHP $ _POST变量未在下面的命令中分配?

来自分类Dev

如何在下面的HTML中识别硒中的元素

来自分类Dev

当右边没有空格时,如何在下面的RelativeLayout中添加TextView?

来自分类Dev

在下面的代码中,如何在每个函数调用中阻止该值变为零?

来自分类Dev

如何在下面的代码中选择所有“ src”以获得漂亮的汤

来自分类Dev

如何在下面的飞镖代码中添加导航抽屉和银色AppBar?

来自分类Dev

如何在下面的Java代码结尾处显示正确和错误的答案?

Related 相关文章

  1. 1

    在下面的查询中如何使用“ like”命令

  2. 2

    如何在下面的shell脚本中使用rsync而不是scp复制文件?

  3. 3

    如何在下面的代码中使用systemNavigator.pop在Flutter中退出应用

  4. 4

    我如何在下面的代码中使用for循环和.format来遍历不同的函数?

  5. 5

    什么是嵌套循环以及如何在下面的示例中使用它?

  6. 6

    如何在下面的示例中使用 Javascript 添加光标闪烁效果

  7. 7

    在下面的代码中使用`setTimeout`?

  8. 8

    如何在Anorm查询中使用“喜欢”?

  9. 9

    如何在下面的mysql查询中避免重复行的情况?

  10. 10

    如何在下面的查询中找到 ( SYSDATETIME()-1) < login_time ?

  11. 11

    如何在下面的代码中添加滚动条?(使用Tkinter for 2.7.5)

  12. 12

    如何在下面的代码中实现改组函数?

  13. 13

    如何在下面的代码中更改文本的颜色?

  14. 14

    如何在下面的语句中循环

  15. 15

    如何在下面的代码中单击特定的href

  16. 16

    如何在下面的形状周围添加框阴影

  17. 17

    如何在下面的代码中打印正确的名称?

  18. 18

    如何在下面的列表中添加数据?

  19. 19

    在下面的代码中需要如何使用applyMap的帮助

  20. 20

    如何在 MongoDB 中使用查询命令?

  21. 21

    在下面的代码中使用toString()方法的目的是什么?

  22. 22

    在下面的代码中使用template.library()和@ register.filter()的目的是什么

  23. 23

    PHP $ _POST变量未在下面的命令中分配?

  24. 24

    如何在下面的HTML中识别硒中的元素

  25. 25

    当右边没有空格时,如何在下面的RelativeLayout中添加TextView?

  26. 26

    在下面的代码中,如何在每个函数调用中阻止该值变为零?

  27. 27

    如何在下面的代码中选择所有“ src”以获得漂亮的汤

  28. 28

    如何在下面的飞镖代码中添加导航抽屉和银色AppBar?

  29. 29

    如何在下面的Java代码结尾处显示正确和错误的答案?

热门标签

归档