当前位置: 首页 > 知识库问答 >
问题:

在Snowflake中调用基于JavaScript的存储过程时出错

司寇山
2023-03-14
create or replace procedure myschema.stproc1()
    returns string
    language javascript
    as
    $$
        // Create a request variable and assign a new XMLHttpRequest object to it.
        var request = new XMLHttpRequest();
        
        // Open a new connection, using the GET request on the URL endpoint
        request.open('GET', 'https://myappi.application.com/external/api/rest/v2/rooms/?includeCancelled=true&includePastReservations=true&limit=500', true);
        
        request.onload = function () {
          // Begin accessing JSON data here
        }
        
        // Send request
        request.send();
    $$
    ;

JavaScript执行错误:未捕获的referenceError:STPROC1中“var request=new XMLHttpRequest();”处未定义XMLHttpRequest位置22堆垛机:STPROC1线:3

我对JavaScript和Snowflake中的过程都相当陌生。所以,不知道问题是什么。我在这里使用基于参考的代码。

共有1个答案

涂选
2023-03-14

为了进一步阐述塞尔吉的评论:

如果要从雪花内部调用外部API,则需要进行外部函数设置:

  • https://docs.snowflake.com/en/sql-reference/externative-functions-introption.html
    null
 类似资料:
  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 问题内容: 我在任何地方都找不到此答案,但是可以从MySQL中的另一个存储过程调用存储过程吗?我想找回标识值,并在父存储过程中使用它。我们不能再使用FUNCTIONS! 问题答案: 参数应该可以帮助您将值返回给调用过程。基于此,解决方案必须是这样的。

  • 我正在寻找的是能够使用变量,可以在部署时替换。像这样的东西 当我运行这段代码时,我希望这样部署代码。

  • 问题内容: 昨晚我刚刚开始学习hibernate,它相当有趣。我在使用hibernate将存储过程作为sql查询调用时遇到麻烦。我已附上来源和错误,请帮助我。谢谢 :) 这是Java文件::: 错误是::: 问题答案: 我基本上不使用hibernate的getNamedQuery重新设计输入,但是java.sql类可以正常工作!

  • 问题内容: 是否可以找出谁调用了存储过程? 例如,假设我在中遇到错误。从该proc中,我想知道它是由还是调用的。 问题答案: 如果这对您的逻辑很重要,我将使用一个额外的输入参数来指定源。 这也将使您更容易将数据库移植到另一个平台,因为您不依赖于某些晦涩的平台相关功能。