Javascript 如何将表的列名存储在Snowflake中的数组中
我对雪花很陌生。我只需要检索表的列名,然后将其作为存储过程中的数组返回 例如:Javascript 如何将表的列名存储在Snowflake中的数组中,javascript,sql,stored-procedures,snowflake-cloud-data-platform,Javascript,Sql,Stored Procedures,Snowflake Cloud Data Platform,我对雪花很陌生。我只需要检索表的列名,然后将其作为存储过程中的数组返回 例如: Column_A Column_B Column_C Column_D 1 2 2 2 应返回[列A、列B、列C、列D] 以下是我的尝试: create or replace procedure sample() return RETURNTYPE? language javascript AS
Column_A Column_B Column_C Column_D
1 2 2 2
应返回[列A、列B、列C、列D]
以下是我的尝试:
create or replace procedure sample()
return RETURNTYPE?
language javascript
AS
$$
var cmd = 'SELECT COLUMN_NAME' FROM table1;
var statement = snowflake.createStatement({sqlTest: cmd});
var res = statement.execute();
var arr = [];
//HOW CAN I PUSH COLUMN NAMES INTO THIS ARRAY
return ARRAY;
$$;
我是个新手。有人能解释一下如何解决这个问题吗。检查一下Mike Walton不使用存储过程的解决方案。将此答案留给使用存储过程寻找答案的任何人 一种解决方案是在存储过程中运行SELECT*,然后该语句将具有列的名称: 创建或替换过程get\u columnsTABLE\u NAME VARCHAR 返回数组 语言JAVASCRIPT 像 $$ var stmt=snowflake.createStatement{ sqlText:选择*FROM+表格\名称+限制1;, }; stmt.execute; var cols=[];
对于i=1;我检查Mike Walton的解决方案,它不使用存储过程。将此答案留给使用存储过程寻找答案的任何人 一种解决方案是在存储过程中运行SELECT*,然后该语句将具有列的名称: 创建或替换过程get\u columnsTABLE\u NAME VARCHAR 返回数组 语言JAVASCRIPT 像 $$ var stmt=snowflake.createStatement{ sqlText:选择*FROM+表格\名称+限制1;, }; stmt.execute; var cols=[]; 对于i=1;我将简单地利用信息模式和数组agg函数来完成这项工作,而不是使用存储过程。在Snowflake中,如果没有所有javascript作为本机函数,类似的功能也可以工作:
SELECT array_agg(column_name)
FROM information_schema.columns
where table_name = 'TABLE_NAME';
我只需要利用information\u schema和array\u agg函数来完成这项工作,而不是使用存储过程。在Snowflake中,如果没有所有javascript作为本机函数,类似的功能也可以工作:
SELECT array_agg(column_name)
FROM information_schema.columns
where table_name = 'TABLE_NAME';
我猜@R0bert想要一个存储过程我猜@R0bert想要一个存储过程