Snowflake 中的存储过程能否提供一个表值输出,就像我们在 SQL Server 中得到的一样
Posted
技术标签:
【中文标题】Snowflake 中的存储过程能否提供一个表值输出,就像我们在 SQL Server 中得到的一样【英文标题】:Can stored procedures in Snowflake provide a table valued out put, like we get in SQL Server 【发布时间】:2020-07-20 20:01:01 【问题描述】:Snowflake 中的存储过程能否像我们在 SQL Server 中那样提供一个有值输出的表?我不想使用存储过程将其存储在表或视图中,而是想直接调用存储过程并在 API 中使用存储过程的输出。
【问题讨论】:
【参考方案1】:您可以使用 SQL UDTF
CREATE OR REPLACE FUNCTION func1(PRFL_NAME VARCHAR)
RETURNS TABLE (KEY VARCHAR(16777216), VALUE VARCHAR(16777216))
LANGUAGE SQL
AS
$$
SELECT '1','2'
$$;
select * from table(func1('somevalue'));
https://docs.snowflake.com/en/sql-reference/udf-table-functions.html
【讨论】:
你好@Iqra Ijaz,同意!提到的方法,但在 UDF 中,输入参数是强制性的,这可能不是必需的,并且每次基础表结构更改时,我都必须修改在表顶部创建的所有 UDF 的返回表。我正在寻找可用的选项,我们在其中包装一组 SQL 命令并从其中的表中获取输出。以上是关于Snowflake 中的存储过程能否提供一个表值输出,就像我们在 SQL Server 中得到的一样的主要内容,如果未能解决你的问题,请参考以下文章