首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在snowflake中使用java脚本UDTF中的DDL语句

如何在snowflake中使用java脚本UDTF中的DDL语句
EN

Stack Overflow用户
提问于 2021-05-06 13:10:01
回答 1查看 58关注 0票数 0

我正在尝试使用DDL语句,比如在java脚本UDTF中使用select columns from tables。我可以像下面这样在普通的UDTF中实现

代码语言:javascript
复制
create function returntable()
    returns table(COL1 varchar(100),COL2 VARCHAR(100),COL3 NUMBER(10,0))
    as
    $$
        select COL1,COL2,COL3 from PUBLIC.MYTABLE
    $$;

select * from table ( returns table());-现在这将返回一个表作为输出。

但由于我需要做一些功能,如条件if,case语句,变量,动态创建临时表,以及各种典型的业务需求,这就是为什么我想要编写javascript UDTF。我能够执行所有这些功能,但无法在其中编写最终的select * from table,以便它在经过一些转换后将我的表作为输出返回。

因此,为了简单起见,我正在尝试实现以下内容

代码语言:javascript
复制
    create or replace function RETURN_TABLE()
    returns table (COL1 varchar(100),COL2 VARCHAR(100),COL3 NUMBER(10,0))
    language javascript
    as
    $$
    {
      processRow: function (row, rowWriter, context){

      /** SOME TRANSORMATIONS USING VARIABLES, TEMP TABLES, IF COMES HERE **/

      rowWriter.writeRow({COL1: ColumnValesfromSelectQuery,COL2: ColumnValesfromSelectQuery,COL3: ColumnValesfromSelectQuery});
      //select COL1,COL2,COL3 from PUBLIC.MYTABLE    
              
        }
        }
    $$;

有人能帮帮我吗。

EN

回答 1

Stack Overflow用户

发布于 2021-05-06 13:20:08

根据Snowflake文档,UDF不应该有任何DDL语句,当你用JavaScript编写它时,它不会在编译时验证,但会在运行时验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67412170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档