Skip to main content

Blue icon with floppy disk. 库内写入数据工具

使用库内写入数据,在数据库内直接创建或更新表格。

“数据库内”工具无需将数据移出数据库即可对大型数据集进行融合与分析,与传统分析方法相比,它们可以显著提高性能。如需详细了解“数据库内”工具类别,请参阅数据库内概述

配置工具

输出模式:选择写入数据的相应选项。选项包括...

  • 追加到现有:将所有数据追加到现有表中。输出包含 Records Before(旧记录)和 Records After(新记录)。

  • 删除数再i追加:删除表中的所有原始记录,然后将数据追加到现有表中。请注意,此模式因您写入的数据库而异:

    • Oracle 数据库:使用 DELETE 语句。

    • SQL Server 数据库:使用 TRUNCATE TABLE 语句,因为这是更有效率的方法。您需要拥有对表格进行 ALTER TABLE 或 TRUNCATE 的权限。

  • 覆盖表格(Drop):完全丢弃现有表格并创建新表格。

  • 创建新表格:创建新表格。它不会覆盖现有表格。

  • 创建临时表格:写入在会话结束前可用的临时表格。此选项对于构建数据库内预测宏非常有用,因为它会暂时保存元数据。如果选择此选项,“表格名称”字段将被禁用,并显示“[每次运行都会生成唯一的临时表名称]”。

  • 更新行:根据传入记录更新表格中的现有行。

  • 删除行:根据传入记录删除表格中的现有行。

  • 合并表格:将传入数据与工具中指定的表格合并。它支持根据选定的合并字段进行删除和更新。

  • 表格名称:输入要创建或更新的数据库表格的名称。

附加字段映射(或在更新行为所选输出模式SET 字段映射):当选择了上述追加到现有删除数据再追加时,此处将变成活跃状态。

选择配置模式:

  • 按名称自动配置:按字段名称对齐字段。

  • 按位置自动配置:按流中的字段顺序对齐字段。

字段不同时:从下拉菜单选项中选择如何处理不匹配的数据字段。

  • 错误 - 停止处理:在“结果”窗口中发出错误并结束处理。

  • 输出相关字段:输出适用的字段。空字段将用 Null 值填充。

选项:当选择更新行删除行作为输出模式时,此选型将变为活动状态。

  • WHERE 字段映射:构建“更新行”和“删除行”输出模式的条件语句。

限制

  • 更新/删除输出选项当前不支持列别名。

  • 针对“按名称自动配置”的附加字段映射选项,更新输出选项当前要求所有字段名称与目标表格的字段名称匹配;“按位置自动配置”的附加字段映射选项则要求字段数与目标表格的字段数匹配。

  • 更新/删除当前仅支持 SQL Server ODBC 连接。

  • 更新/删除输出选项当前不支持更新或删除 Null 值。用于 Alteryx 更新和删除查询的比较运算符(例如 =!=)对于 Null 值返回“未知”。有关详细信息,请参阅 Microsoft SQL Server 文档

  • 使用库内写入工具追加数据时,目标表格中的所有列都必须包含在 INSERT 语句中, INSERT 才有效。将使用 NULL 值添加缺失的列。

  • 库内合并仅在 Databricks Unity Catalog 受支持。

查询结构

以下是输出模式下“更新行”和“删除行”选项的查询示例:

更新行

WITH upstream AS ( ... ) UPDATE t SET t.col2 = (SELECT col2 FROM upstream u WHERE u.col1 = t.col1 AND ...), ... FROM target_ t WHERE EXISTS ( SELECT * FROM upstream u WHERE u.col1 = t.col1 AND ... )

删除行

WITH upstream AS ( ... ) DELETE t from target_ t WHERE EXISTS ( SELECT * FROM upstream u WHERE u.col1 = t.col1 AND ... )