#snowflake-cloud-data-platform
Вопрос:
Я пытаюсь создать хранимую процедуру, которая принимает динамическое количество параметров и создает таблицу SQL на основе заданных ей параметров.
Изначально я знал, что будет 7 столбцов, но их могло быть и больше.
Я работаю в Снежинке.
Комментарии:
1. Как вы получаете параметры? Если, например, они являются результатом инструкции SQL, вы можете запустить ее внутри хранимой процедуры, сохранить их в переменных и создать после таблицы с ними. В этом случае хранимая процедура не нуждалась бы в аргументах.
Ответ №1:
Параметры должны быть определены в сохраненном процессе.
Чтобы передать переменные числа parm, вы можете передать параметры в виде списка с разделителями в строке, поэтому вы передаете один строковый параметр, затем хранимая процедура может разделить строку и выполнить цикл через каждый элемент массива.
MYVAR = 'A~B~C';
CREATE PROCEDURE PROCABC(MYVAR VARCHAR)
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
AS
$
var ARRAY_STR = MYVAR.split("~");
//process ARRAY_STR in a loop
Комментарии:
1. В дополнение к строке с разделителями входным параметром также может быть ВАРИАНТ или МАССИВ.
2. Я закончил тем, что сделал именно это, определенно так, как нужно, Спасибо вам:)