在雪花存储过程中设置变量并在与复制模式相同的过程中使用它

Within snowflake stored procedure set variable and use it within the same procedure as a copy pattern

我正在尝试创建一个存储过程以从外部阶段(s3 存储桶)复制并使用文件名模式。该模式基于串联的当前日期,但我需要设置一个变量以用作模式。有没有可能做这样的事情?

    CREATE OR REPLACE PROCEDURE test_copy()
    RETURNS STRING
    LANGUAGE JAVASCRIPT    
    EXECUTE AS CALLER
    AS
    $$
    SET my_Date=(select concat('.*', regexp_replace(current_date(),'-',''), '.*.parquet' );
    var sql_command = '
    COPY INTO table1
    FROM '@s3bucket'  
    (file_format  => PARQUET, pattern=>$my_Date) 
);
    '
    snowflake.execute(
        {
        sqlText: sql_command
        });
    return "Successfully executed.";
    $$;

既然可以在 javascript 中生成当前日期,为什么不完全在 javascript 中创建 my_Date?

然后您需要通过将所需的字符串和变量连接在一起来创建 sql_command