Javascript функция в снежинке для добавления имени таблицы с текущей датой - PullRequest
0 голосов
/ 11 февраля 2020

Я недавно начал использовать снежинку и застрял в этой проблеме:

Я хочу клонировать таблицу с именем AB_USER в AB_USER_ (current_date). Я написал следующий код для sh this:

CREATE or replace PROCEDURE backup_proc()
  RETURNS VARCHAR
  LANGUAGE javascript
  AS
  $$
  var tab_name = `AB_USER_BCK_2020_`+ current_date();
  stat = `create or replace table staging.` + tab_name + ` clone staging.AB_USER`;
  var rs = snowflake.execute( { sqlText: stat} );
  return 'Done.';
  $$;

Проблема в том, что я не могу найти подходящую функцию для получения текущей даты. Snowflake обеспечивает среду JS, но я не знаю, какую функцию использовать для получения текущей даты.

Я очень новичок в снежинке, поэтому любая помощь в этом будет высоко ценится.

Спасибо.

1 Ответ

2 голосов
/ 11 февраля 2020

CURRENT_DATE - это команда SQL, поэтому вам нужно вызвать ее как оператор SQL с snowke.execute.

Как я вижу, вы хотите получить значения месяца и дня от текущей даты, так что вы можете использовать следующую процедуру:

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.";
$$
;
...