库内写入数据工具
使用库内写入数据,在数据库内直接创建或更新表格。
“数据库内”工具无需将数据移出数据库即可对大型数据集进行融合与分析,与传统分析方法相比,它们可以显著提高性能。如需详细了解“数据库内”工具类别,请参阅数据库内概述。
配置工具
输出模式:选择写入数据的相应选项。选项包括...
追加到现有:将所有数据追加到现有表中。输出包含 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 ... )