Как объединить строки с переменными в Snowflake SQL - PullRequest
0 голосов
/ 10 октября 2018

Возможно использовать Snowflake variable для определения исходной таблицы следующим образом:

set src='some_table';
select count(*) from $src;

Однако я ищу способ предоставить имя базы данных в качестве переменной иобъединить это с именем таблицы.Псевдокод:

set db='database';
select count(*) from $db.table_name; 

Как я могу это сделать?Я бы хотел оставить database и table_name разделенными (поэтому установка dbandtable=database.table_name не вариант).

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Вы также можете использовать синтаксис IDENTIFIER , он более общий, и вы можете использовать его в других местах, например,

SELECT * FROM identifier($s_table);
DESC TABLE identifier($s_table);
0 голосов
/ 10 октября 2018

Кажется, что select something from $src не работает, поэтому вам нужно использовать Snowflake табличные литералы следующим образом:

select something from table($src)

Полный пример объединения переменных будет выглядеть:

set s_database='databasename';
set s_table=concat($s_database, '.tablename');
select count(*) from table($s_table);
...