- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个 SP,其中输出预期为表格。但无法以表格格式获得输出,而是在使用数组作为返回类型时将其作为对象接收单个值或一列中的所有行。
create or replace table monthly_sales(empid int, amount int, month text)
as select * from values
(1, 10000, 'JAN'),
(1, 400, 'JAN'),
(2, 4500, 'JAN'),
(2, 35000, 'JAN'),
(1, 5000, 'FEB'),
(1, 3000, 'FEB'),
(2, 200, 'FEB'),
(2, 90500, 'FEB'),
(1, 6000, 'MAR'),
(1, 5000, 'MAR'),
(2, 2500, 'MAR'),
(2, 9500, 'MAR'),
(1, 8000, 'APR'),
(1, 10000, 'APR'),
(2, 800, 'APR'),
(2, 4500, 'APR'),
(2, 10000, 'MAY'),
(1, 800, 'MAY');
----------------------------------------------------------
select * from MONTHLY_SALES;
------------------------------------------------------------
create or replace procedure getRowCount(TABLENAME VARCHAR(1000))
returns variant
not null
language javascript
as
$$
// Dynamically compose the SQL statement to execute.
var sql_command = " SELECT * FROM "+TABLENAME+";"
// Prepare statement.
var stmt = snowflake.createStatement({sqlText: sql_command});
// Execute Statement
try
{
var rs = stmt.execute();
return rs;
}catch(err){return "error "+err;}
$$;
Call getRowCount('MONTHLY_SALES');
最佳答案
Snowflake 存储过程不能有输出类型的表。你有几个选择。一种选择是编写一个存储过程,该过程返回一个数组或 JSON,您可以将其展平到表中。但请注意,您不能直接使用存储过程的返回值。您必须先运行存储过程,然后在 session 中执行的下一条语句收集如下输出:
select * from table(result_scan(last_query_id()));
另一种选择是编写用户定义的表函数 (UDTF),这是 Snowflake 中唯一返回表的函数类型。这是一个简单的 UDTF 示例:
create or replace function COUNT_LOW_HIGH(LowerBound double, UpperBound double)
returns table (MY_NUMBER double)
LANGUAGE JAVASCRIPT
AS
$$
{
processRow: function get_params(row, rowWriter, context){
for (var i = row.LOWERBOUND; i <= row.UPPERBOUND; i++) {
rowWriter.writeRow({MY_NUMBER: i});
}
}
}
$$;
然后您可以像这样使用 TABLE 函数调用 UDTF:
SELECT * FROM TABLE(COUNT_LOW_HIGH(1::double, 1000::double));
关于snowflake-cloud-data-platform - 雪花 Javascript SP 输出为表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61345009/
我正在尝试使用 JSOM 更新 SP.Listitem,以保留另一个用户的 spUser。请参阅下面的代码片段 // Query the picker for user information. $.
虽然我环顾四周但还没有运气 我正在使用 SQL Server。这是整个场景。 我有一个旧的遗留 sp(由于很多依赖关系和其他问题我无法更改)它不返回任何值也不接受任何输出参数,它只是选择一个值作为 C
虽然我环顾四周但还没有运气 我正在使用 SQL Server。这是整个场景。 我有一个旧的遗留 sp(由于很多依赖关系和其他问题我无法更改)它不返回任何值也不接受任何输出参数,它只是选择一个值作为 C
我正在研究使用过程的MIPS代码,但无法理解堆栈(sp)和帧指针(fp)的目的。 例如,我研究的代码如下。它会在您输入的号码之前打印所有号码,例如3. 3,2,1,0,并显示它使用了多少堆栈大小。在此
我已成功创建以下 MySQL SP.. CREATE DEFINER=`root`@`%` PROCEDURE `Common_Proc_Create_NewId` ( TableName VARC
我尝试使用链接的数据库代码中的另一个 SP 执行存储过程(SP),工作顺利,没有错误,但它不会在我的表中插入数据。 这是存储过程的代码 USE [MYDB] GO SET ANSI_NULLS ON
我有一个包含许多存储过程的生产 SQL-Server 数据库(报告)。SP以不同的方式向外界公开 - 一些用户可以直接访问 SP, - 一些通过 WebService 公开 - 而其他的则通过 DCO
我是 SQL DBA 角色的新手。我有一个可能每天运行多次的存储过程 (SP1)。它在 table1 上运行昂贵的 SELECT,可能需要 15 分钟才能完成。我有另一个存储过程 (SP2),它在 t
自从更新了 sp 软件包后,我收到了以前没有收到的警告: 1: In showSRID(uprojargs, format = "PROJ", multiline = "NO") : Disca
问题 我们试图理解为什么通过调用存储过程执行相同的代码与在查询窗口中执行存储过程内容显示出截然不同的执行时间,但返回完全相同的 183 行结果集。 测试1 从 SSMS 执行以下 SP 需要 5 分钟
为什么在0(SP)处传递的值只能在4(SP)处访问?例如,我需要通过 0(SP) 而不是 4(SP) 将数字传递给 printn (因为它在例程中使用)否则它不会起作用。我错过了什么? MOVE #1
在 MySql 存储过程中,我想捕获并记录可能发生的任何错误,然后停止/终止/退出调用存储过程的进程。该进程是另一个存储过程,其上一级或可能上两级,由计划事件执行。 目前我有第一部分,但没有第二部分:
这个问题在这里已经有了答案: scipy.special import issue (1 个回答) 关闭 7 年前。 我想使用 scipy.signal.lti 和 scipy.signal.imp
在制作 LINQ to SQL 和实体的 POC 时,我遇到了一个卡在死胡同里的问题。问题是,我正在使用 LINQ to SP,一切都运行良好,我制作了很酷的编辑、添加和删除方法。然后在我的矿井中点击
我最近开始使用 TST (tst.codeplex.com) 测试存储过程,并发现它非常有用 - 但一个缺点是我们无法隔离依赖项并“模拟”其他 SP/函数调用(就像我们对 C# 所做的那样)对象依赖关
您好,我已经创建了一个每天触发 sp 的 mysql 事件,但它触发 sp 的时间间隔为一天。我创建的事件是: CREATE DEFINER=`root`@`localhost` EVENT `Job
我想知道是否可以在 Sql Server Profiler 中查看其他存储过程正在执行的存储过程,是否可以,如果可以,如何实现? 最佳答案 如果您使用 SP::Starting 事件进行分析,您可以看
我的场景 我正在开发一个数据库,该数据库将包含整个服务器上不同数据库中各种存储过程的许多详细信息。我现在试图收集的信息是“SP 输出什么?” 在搜索中我发现答案就在 OPENROWSET 中。我的初步
在 python 中,我们有包含 sp.linalg.norm、sp.cross 的库 scipy。 C++ boost 库中有没有类似的函数? 最佳答案 好像没有。 但是,OpenCV 有您需要的!
将 scipy 导入 Python 时出现错误。当我写: import scipy as sp x2 = lambda x: x**2 print sp.integrate.quad(x2, 0, 4
我是一名优秀的程序员,十分优秀!