【问题标题】:Keep indentation of a Snowflake object's SQL definition with row output使用行输出保持雪花对象的 SQL 定义的缩进
【发布时间】:2021-08-31 16:06:46
【问题描述】:

当您为雪花对象(即 VIEW、TASK ... 等/)定义 SQL 定义时,您可以使用元数据定义(例如:SHOW VIEWS -> text)或使用 GET_DDL 函数来获取它。

在 Snowflake WEBui 中,您可以选择显示 SQL 代码原始缩进的输出,使其更具可读性。 我想在 Snowflake 中批量重新创建对象,并且我想在对象的 SQL 定义中保留这个缩进。 不幸的是,当我在 Snowflake 中批量生成查询时,SQL 定义显示为一行,其中 SQL 定义已展平/未缩进。

例子:

CREATE VIEW my_view AS
SELECT 
    'Hello' AS col_1, 
    'World' AS col_2,
    '!' AS col_3
;

SHOW VIEWS LIKE 'my_view';

SELECT "text" FROM table(result_scan(last_query_id()));

->复制粘贴结果让我得到以下查询而不是缩进一个

CREATE VIEW my_view AS  SELECT       'Hello' AS col_1,       'World' AS col_2,      '!' AS col_3;  

【问题讨论】:

  • 在 Snowflake 的原始 UI 中,每当您在网格中看到一行的蓝色文本时,这意味着它是多行的或具有压缩的空白。您可以单击文本,它将弹出一个带有原始文本的窗口。在这种情况下,它将包括原始格式。
  • @GregPavlik,是的,但我希望能够生成多个查询并能够轻松复制粘贴结果以供批量使用。

标签: snowflake-cloud-data-platform


【解决方案1】:

不幸的是,当我在 Snowflake 中批量生成查询时,SQL 定义显示为一行,其中 SQL 定义已展平/未缩进

结果集中仍然存在回车符,但 UI 行的高度不变。

还有下载按钮可以将其获取为“CSV”。


WebUI 并不是与 Snowflake 交互的唯一方式。这里使用DBeaver进行相同的查询:

【讨论】:

  • “导出”按钮的好主意。使用 Snowflake WebUI(不是 Snowsight)我可以选择“CSV”,然后选择“在对话框中显示”,并且可以很好地缩进多个查询。太糟糕了,每个值都用双引号括起来。这不允许我将内容复制/粘贴到工作表中。但这已经很接近了。
【解决方案2】:

实际上,在 Snowflake UI 的批量查询生成中保持缩进的最佳解决方案是用 \r\n 替换 \n。 p>

这样,当我在 UI 中复制/粘贴查询时,它会保留原始缩进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 2021-10-05
    相关资源
    最近更新 更多