在雪花存储过程中设置变量并在与复制模式相同的过程中使用它
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
我正在尝试创建一个存储过程以从外部阶段(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