#stored-procedures #snowflake-cloud-data-platform
Вопрос:
Я пытаюсь вызвать сохраненный процесс с параметрами из другой хранимой процедуры, и я думаю, что путаю кавычки и обратные ссылки. Процедура, которую я пытаюсь вызвать, будет регистрировать шаги последовательного набора задач, чтобы я мог лучше отслеживать ход выполнения задачи.
var create_temp_table_sql_cmd = `set batch_id = (select MD5_NUMBER_LOWER64(current_timestamp))`
var stmt = snowflake.createStatement(
{
sqlText: create_temp_table_sql_cmd
}
);
var res = stmt.execute();
var create_temp_table_sql_cmd = `CALL log_stored_procedure(`'raw.silver'`, ` $batch_id `, `load_customer_visits`, `'load_customer_visit_events'`, `'step1 - load customer visit events table'`, `'log_init'`);`
var stmt = snowflake.createStatement(
{
sqlText: create_temp_table_sql_cmd
}
);
var res = stmt.execute();
Ошибка, которую я получаю, звучит так: Необнаруженная строка
Комментарии:
1. Вам понадобится только один набор обратных галочек, охватывающих всю инструкцию
Ответ №1:
Как сказал Дин:
var create_temp_table_sql_cmd = `set batch_id = (select MD5_NUMBER_LOWER64(current_timestamp))`
var stmt = snowflake.createStatement(
{
sqlText: create_temp_table_sql_cmd
}
);
var res = stmt.execute();
var create_temp_table_sql_cmd = `CALL log_stored_procedure('raw.silver', $batch_id, 'load_customer_visits', 'load_customer_visit_events', 'step1 - load customer visit events table', 'log_init');`;
var stmt = snowflake.createStatement(
{
sqlText: create_temp_table_sql_cmd
}
);
var res = stmt.execute();
кстати, вы можете объединить эти два запроса:
var create_temp_table_sql_cmd = `CALL log_stored_procedure('raw.silver', MD5_NUMBER_LOWER64(current_timestamp), 'load_customer_visits', 'load_customer_visit_events', 'step1 - load customer visit events table', 'log_init');`;
var stmt = snowflake.createStatement(
{
sqlText: create_temp_table_sql_cmd
}
);
var res = stmt.execute();