【问题标题】:Can I use oracle sql loader to update a column?我可以使用 oracle sql loader 更新列吗?
【发布时间】:2015-07-02 13:42:28
【问题描述】:

我在一个表中有数据(3 列,其中 2 列已经有数据)。我有一个包含三个字段的文本文件。现在,我可以使用 sql loader 使用文本文件中第三个字段中的值来更新表中的第三列吗?

【问题讨论】:

  • 你能给出一个提示吗?谢谢
  • 根据您需要的条件在字段名称后用引号写上您的更新语句
  • @vkp: SQL*Loader不能更新行,只能插入新行。
  • @a_horse_with_no_name..谢谢。我认为可以使用任何语句。
  • 那么在这种情况下我没有办法使用 sql loader 吗?除了创建一个新表,首先加载该表中的数据,然后使用一个过程相应地更新主表。

标签: sql oracle sql-loader


【解决方案1】:

我知道完成这项工作的唯一两种方法是:

  1. 使用外部表,允许将文件视为可查询的表,并可用作更新语句的一部分。出色的性能和灵活性!
  2. 使用 SQL*Loader 将视图插入到定义了“INSTEAD OF INSERT”触发器的视图中,该触发器执行更新语句。这意味着执行逐行处理,因此它比外部表慢。它不是很优雅,当然需要 PL/SQL,但可以执行基于 SQL*Loader 插入的任意 SQL 语句。

【讨论】:

    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2011-12-05
    相关资源
    最近更新 更多