Я пытаюсь обновить таблицу с помощью хранимой процедуры на основе переданного 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;
$$
;
... call update_table ('Test77', 47)
Но я получаю следующую ошибку:
Сообщение об ошибке: Ошибка выполнения в хранимой процедуре. UPDATE_TABLE: Неподдерживаемый тип для аргумента привязки. Sun Apr 05 2020 18:39:31 GMT-0700 (PDT) В Snowflake.execute, строка 3, позиция 30
Таблица уже содержит Log_Id 47. Столбец ETL_EXEC_END_TIME - это timestamp_ntz в таблице.
Можете ли вы подсказать, где я ошибаюсь?
Приветствия