【问题标题】:reorganizing data columns Snowflake using stored procedure使用存储过程重新组织数据列雪花
【发布时间】:2021-12-06 17:55:40
【问题描述】:

在 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();

所以我尝试识别空白单元格来拆分表格,但我被困在这里。

【问题讨论】:

    标签: javascript stored-procedures snowflake-cloud-data-platform


    【解决方案1】:

    我相信您无法使用 ALTER 命令对列重新排序,推荐的解决方案是使用视图。对于您的情况,可能需要使用 UNION 来满足不同的结构

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 2021-06-22
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多