我正在将一个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