【发布时间】:2020-07-17 23:30:24
【问题描述】:
我正在尝试通过基于传递的 Log_Id 的存储过程更新表并更新状态并在表中插入今天的日期时间戳(当表更新时)。
存储过程:
...
CREATE OR REPLACE PROCEDURE update_table(P_ETL_STATUS_CODE VARCHAR,P_LOG_ID FLOAT)
RETURNS FLOAT
LANGUAGE JAVASCRIPT
AS
$$
var sql_command1 = "UPDATE ETL_EXECUTION_STATUS_LOG SET ETL_STATUS_CODE = :1,ETL_EXEC_END_TIME = :2 WHERE LOG_ID = :3";
var create_stmt1 = snowflake.execute({sqlText : sql_command1,
binds: [P_ETL_STATUS_CODE,(new Date()),P_LOG_ID].map(function(x){return x === undefined ? null : x})
}
);
return P_LOG_ID;
$$
;
... 调用 update_table('Test77',47)
但是,我收到以下错误:
错误消息:存储过程 UPDATE_TABLE 中的执行错误:绑定参数的类型不受支持 Sun Apr 05 2020 18:39:31 GMT-0700 (PDT) At Snowflake.execute,第 3 行位置 30
该表已包含 Log_Id 47。“ETL_EXEC_END_TIME”列是表中的 timestamp_ntz。
你能建议我哪里出错了吗?
干杯
【问题讨论】:
标签: snowflake-cloud-data-platform snowflake-schema