- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用带有 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
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/
我是一名优秀的程序员,十分优秀!