Snowflake 中的返回类型“Table”问题

Posted

技术标签:

【中文标题】Snowflake 中的返回类型“Table”问题【英文标题】:Issue with return type "Table" in Snowflake 【发布时间】:2019-10-07 22:52:49 【问题描述】:

我在雪花函数中发现了一个独特的情况,我的函数的返回类型是表。

输入参数:整数 返回参数:TABLE

问题说明:我将参数(列之一)传递给表中的函数,当表中只有一行时,我收到错误

SQL 编译错误:无法评估不受支持的子查询类型

而在表中的记录数超过 1 的情况下它可以正常工作。

我的问题:作为表的返回类型是否有任何先决条件,即源中的记录数应大于 1?

【问题讨论】:

除此之外,当我尝试手动传递输入参数值时,该函数工作正常。我不确定函数处理有什么问题 【参考方案1】:

我希望能够将此添加为评论,但由于声誉问题而无法添加。

为了更好地解决您收到此问题的查询 错误,可以分享一下功能吗? 什么是值类型 您传递的列和一些输入示例?

一般来说,Snowflake 确实更正 支持子查询类型,通常我推荐,或者看到建议创建存储过程或重写查询以尝试实现相同的输出。用户自定义表函数:>https://docs.snowflake.net/manuals/sql-reference/udf-table-functions.html

根据您的问题:作为表的返回类型是否有任何先决条件,即源中的记录数应大于 1 ? 我不这么认为,但我们看一个例子,你能分享一下这个功能吗?

您可能会遇到什么问题:https://community.snowflake.com/s/question/0D50Z00008mNInrSAG/unsupported-subquery-type

【讨论】:

以上是关于Snowflake 中的返回类型“Table”问题的主要内容,如果未能解决你的问题,请参考以下文章

Snowflake 中的列绑定变量

Snowflake 中的 SQL Server 等效表类型是啥

使用 Snowflake 中的任务调用存储过程

雪花; SQL 编译错误:无效的对象类型:GET_DDL 上的“EXTERNAL_TABLE”(“DATABASE”,“MyDb”)

根据日期和在 Snowflake 中的另一个表中为该日期列出的最大行数限制插入到表中的行

Snowflake中的数据库更改检测过程