【发布时间】:2020-02-11 06:34:17
【问题描述】:
冒着遗漏一些明显的东西的风险......
我正在向一个表中插入一条记录,该表有一个用于保存校验和值的 STRING。
我正在尝试插入这条记录:
INSERT INTO control_table (field1, field2, field3, field4, CHECKSUM_FIELD) 值('VALUE1'、'VALUE2'、'VALUE3'、'VALUE4'、MD5('VALUE1VALUE2VALUE3VALUE4'));
Snowflake 不喜欢插入,告诉我:
SQL 编译错误:VALUES 子句中的表达式 [MD5('VALUE1VALUE2VALUE3VALUE4')] 无效。
我不确定为什么它不起作用,因为这个语句可以正常工作:
UPDATE control_table SET CHECKSUM_FIELD = MD5('VALUE1VALUE2VALUE3VALUE4') WHERE FIELD1 = 'VALUE1';
【问题讨论】:
-
作为仅供参考,如果我将 VALUES 更改为 SELECT,则插入有效: INSERT INTO control_table (field1, field2, field3, field4, CHECKSUM_FIELD) SELECT 'VALUE1', 'VALUE2', 'VALUE3' , 'VALUE4', MD5('VALUE1VALUE2VALUE3VALUE4');
标签: md5 snowflake-cloud-data-platform