gpt4 book ai didi

copy - 雪花 COPY : how to insert load time automatically when I use the MATCH_BY_COLUMN_NAME option

转载 作者:行者123 更新时间:2023-12-05 05:47:32 25 4
gpt4 key购买 nike

我使用带有 MATCH_BY_COLUMN_NAME 选项的 Snowflake 副本。我们使用 MATCH_BY_COLUMN_NAME 是因为我们有一个非常长且不断变化的列名列表。有没有办法在加载(或复制编译)时包含一个带有当前时间戳的 LOAD_TIME 字段?

我试着添加一个LOAD_TIME 时间戳默认 current_timestamp() 在目标表中,但由于 MATCH_BY_COLUMN_NAME,我在复制后得到了 NULL 值。

请帮忙。谢谢。

最佳答案

这是默认行为,COPY into 将 NULL 插入其他列并且不允许使用转换语法,因此即使定义了默认值也是 NULL。

COPY INTO t
FROM (SELECT CURRENT_TIMESTAMP() AS LOAD_TIME, ...
FROM stage)
MATCH_BY_COLUMN_NAME = CASE_INSENSITIVE;
-- SQL compilation error: match_by_column_name is not supported with copy transform

COPY INTO :

MATCH_BY_COLUMN_NAME = CASE_SENSITIVE | CASE_INSENSITIVE | NONE

...Note

  • If additional non-matching columns are present in the target table, the COPY operation inserts NULL values into these columns. These columns must support NULL values.

  • The COPY statement does not allow specifying a query to further transform the data during the load (i.e. COPY transformation).

关于copy - 雪花 COPY : how to insert load time automatically when I use the MATCH_BY_COLUMN_NAME option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70998347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com