转换雪花中的SQL变量



我正在将一个SQL存储过程转换为雪花,其代码如下:

Create PROCEDURE <sp_name>  (@parameter)
AS
BEGIN
SET NOCOUNT ON
Declare 
@A varchar(max), 
@B smallint = 0,
@C int = 0,
DECLARE @D smallint,
@E smalldatetime,
@F smallint

需要一些帮助来了解如何将雪花中的上述变量转换为sql语句所使用。

我会研究Snowflake脚本,您可以在表达式和SQL语句中使用变量。这应该具有您正在寻找的等效功能。

https://docs.snowflake.com/en/developer-guide/snowflake-scripting/https://docs.snowflake.com/en/sql-reference-snowflake-scripting.htmlhttps://docs.snowflake.com/en/developer-guide/snowflake-scripting/variables.html#examples-使用变量

create or replace procedure myprocedure()
returns table(A varchar, B smallint, C integer, D smallint, E 
timestamp_ntz, F smallint)
language SQL
as
$$
declare
A varchar default null; 
B smallint default 0;
C integer default 0;
D smallint default -1;
E timestamp_ntz default current_timestamp();
F smallint default 0;
res RESULTSET default (select :A,:B,:C,:D,:E,:F);
begin
return table(res);
end
$$
;    
call myprocedure();
A   B   C   D   E   F
0   0   -1  2022-02-23 11:53:21.230 0

最新更新