реорганизация столбцов данных Snowflake с использованием хранимой процедуры

#javascript #stored-procedures #snowflake-cloud-data-platform

#язык JavaScript #хранимые процедуры #снежинка-облако-платформа для передачи данных

Вопрос:

Используя хранимую процедуру в Snowflake, я пытаюсь изменить порядок столбцов для части таблицы данных.

Вот мой столик

 column1 column2 column3 column4 column5 --------------------------------------------- Year Country Name City 2020 US Briand NY 2021 US John LA 2021 UK Mark London  City Name Year Country Age Paris Jacques 2017 FR 55 Madrid Juan 2015 ES 25 Dublin Steven 2018 IE 37  

Таким образом, в одной таблице есть 5 различных структур. Все 5 структур не имеют одинакового количества столбцов, но имя столбца может совпадать, а отсутствующий столбец может быть заполнен нулевыми значениями. Кроме того, между каждой отдельной структурой данных есть пустая строка. Результат должен быть :

 Year Country City Name Age ------------------------------------------------- 2020 US NY Briand Null 2021 US LA John Null 2021 UK London Mark Null 2017 FR Paris Jacques 55 2015 ES Madrid Juan 25 2018 IE Dublin Steven 37  

Поэтому я подумал, что единственный способ-это выполнить хранимую процедуру, но я понятия не имею, как это работает и возможно ли решить мою проблему таким образом.

 CREATE OR REPLACE PROCEDURE proc_columns_matching() returns string language javascript as $ var sql = "select * from countries_pp"; var statement1 = snowflake.createStatement( {sqlText: pp} ); var result_set1 = statement1.execute();  while(result_set1.next() != ''){ var column1= result_set1.getColumnValue(1) }  return column1; $ ;  CALL proc_smart_impulse();  

Поэтому я попытался определить пустую ячейку, чтобы разделить таблицу, но я застрял здесь.

Ответ №1:

Я считаю, что вы не можете изменить порядок столбцов с помощью команд ALTER, и рекомендуемым решением является использование представления. В вашем случае, вероятно, потребуется использовать ОБЪЕДИНЕНИЕ для удовлетворения различных структур