Snowflake 脚本 - 如何访问调用存储过程时传递的变量

Snowflake Scripting - How to access a variable that is passed when the stored procedure is called

我正在尝试重写以前在雪花脚本中使用 javascript 的雪花存储过程。我对它完全陌生。我想从我的块中访问“我的价值”的价值,但我似乎无法获得它。我敢肯定这很荒谬,但如果有人能帮助我,我将不胜感激。

CREATE OR REPLACE PROCEDURE my_stored_procedure("my_value" varchar)
returns varchar
language sql
as
$$
DECLARE
current_day varchar;
current_month varchar;
current_year varchar;
current_value VARCHAR;
BEGIN

SELECT date_part(day, current_timestamp()) INTO :current_day;                         
SELECT date_part(month, current_timestamp()) INTO :current_month;
SELECT date_part(year, current_timestamp()) INTO :current_year;
current_value=my_value;
RETURN current_value;
exception
  when statement_error then
    return object_construct('Error type', 'STATEMENT_ERROR',
                            'SQLCODE', sqlcode,
                            'SQLERRM', sqlerrm,
                            'SQLSTATE', sqlstate);
                            

END;
$$;

CALL my_stored_procedure('value');

正如我所说,我对雪花脚本完全陌生,而且(老实说)我的 sql 也有点生疏,所以也欢迎任何其他建设性的批评。

赋值的正确语法是:=

current_value=my_value;
=>
current_value:="my_value";

输出:

CREATE OR REPLACE PROCEDURE my_stored_procedure(my_value varchar) 也不需要 "