Вы можете использовать что-нибудь, как показано ниже. Следующая процедура запросит схему использования учетной записи и сгенерирует список столбцов, а затем вернет запрос на основе типа таблицы и столбца. Это можно продлить
create or replace procedure column_list (TBL_NAME STRING, COL_TYPE STRING)
returns string
language javascript
as
$$
var sql_stmt = `select listagg(column_name,',') as col1 from snowflake.account_usage.columns
where table_name = 'FOO' and table_schema = 'PUBLIC' and DATA_TYPE = '` + COL_TYPE + `' and DELETED IS NULL;`;
var create_log_table_stmt = snowflake.createStatement({ sqlText: sql_stmt });
var rs = create_log_table_stmt.execute();
rs.next();
var result = rs.getColumnValue(1);
var final_query = "select " + result + " from " + TBL_NAME;
return final_query;
$$
;
call column_list ('FOO', 'NUMBER');