snowflake中的Javascript函数将tablename附加到当前日期

snowflake中的Javascript函数将tablename附加到当前日期,javascript,sql,snowflake-cloud-data-platform,snowflake-schema,Javascript,Sql,Snowflake Cloud Data Platform,Snowflake Schema,我最近开始使用snowflake,并一直被困在这个问题上: 我想将名为AB_USER的表克隆到AB_USER(当前日期)。我编写了以下代码来实现这一点: 创建或替换过程备份\u proc() 返回VARCHAR 语言javascript 作为 $$ var tab_name=`AB_USER_BCK_2020_`+当前日期(); stat=`create或replace table staging.`+tab_name+`clone staging.AB_USER`; var rs=snowfl

我最近开始使用snowflake,并一直被困在这个问题上:

我想将名为AB_USER的表克隆到AB_USER(当前日期)。我编写了以下代码来实现这一点:

创建或替换过程备份\u proc()
返回VARCHAR
语言javascript
作为
$$
var tab_name=`AB_USER_BCK_2020_`+当前日期();
stat=`create或replace table staging.`+tab_name+`clone staging.AB_USER`;
var rs=snowflake.execute({sqlText:stat});
返回“完成”;
$$;
问题是我找不到合适的函数来获取当前日期。Snowflake提供了一个JS环境,但我不知道使用哪个函数来获取当前日期

我对雪花非常陌生,所以在这方面的任何帮助都将不胜感激


谢谢

CURRENT_DATE是一个SQL命令,因此需要使用snowflake.execute将其作为SQL语句调用

如我所见,您希望从当前日期获取月和日的值,因此可以使用以下过程:

CREATE or replace PROCEDURE backup_proc()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var curdate = snowflake.execute( { sqlText: "SELECT TO_CHAR(CURRENT_DATE,'MMDD') as curdate"}  );
curdate.next();
var tab_name = "AB_USER_BCK_2020_"+ curdate.getColumnValue('CURDATE');
var stat = "create or replace table staging." + tab_name + " clone staging.AB_USER";
var rs = snowflake.execute( { sqlText: stat} );
return "Done.";
$$
;

当前_日期是一个SQL命令,因此需要使用snowflake.execute将其作为SQL语句调用

如我所见,您希望从当前日期获取月和日的值,因此可以使用以下过程:

CREATE or replace PROCEDURE backup_proc()
RETURNS VARCHAR
LANGUAGE javascript
AS
$$
var curdate = snowflake.execute( { sqlText: "SELECT TO_CHAR(CURRENT_DATE,'MMDD') as curdate"}  );
curdate.next();
var tab_name = "AB_USER_BCK_2020_"+ curdate.getColumnValue('CURDATE');
var stat = "create or replace table staging." + tab_name + " clone staging.AB_USER";
var rs = snowflake.execute( { sqlText: stat} );
return "Done.";
$$
;

与大多数数据库一样,Snowflake使用
CURRENT_DATE
:。由于Snowflake使用javascript,使用CURRENT_DATE会引发一个错误:
javascript执行错误:未捕获引用错误:备份过程中未在'var tab_name=
AB_USER_BCK+CURRENT_DATE();'与大多数数据库一样,Snowflake使用
CURRENT_DATE
:。由于Snowflake使用javascript,使用CURRENT_DATE会引发错误:
javascript执行错误:未捕获引用错误:备份过程中未在'var tab_name=
AB_USER_BCK_
+CURRENT_DATE();'谢谢:)你能告诉我这条线在干什么吗curdate.next()`需要调用next()函数,以便光标移动到第一行,您可以通过getColumnValue访问字段值。谢谢:)您能告诉我这一行在做什么吗?`curdate.next()`需要调用next()函数,以便光标移动到第一行,并且您可以通过getColumnValue访问字段值。