Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

649
Visualizações
Javascript imprime el primer elemento SQL en ResultSet sin coma, luego todos los demás con coma
create procedure my_stored_procedure(TABLE VARCHAR) returns varchar language javascript as $$ var sql_col_list = `select distinct key_name from TABLE;` results = snowflake.execute({sqlText: sql_col_list}); while (results.next()) { script += ',' + results.getColumnValue(1) + '\n'; }

Salida de corriente:

 , column1 , column2 , column3

Salida deseada:

 column1 , column2 , column2

¿Cómo puedo hacer esto en javascript dentro del procedimiento almacenado sql? Me gustaría no tener que ejecutar la consulta más de una vez porque la consulta real es computacionalmente intensiva.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

usando su sp, eliminaría el primer resultado del bucle para que sea:

 create or replace procedure my_stored_procedure(TABLE VARCHAR) returns varchar language javascript as $$ var sql_col_list = `select distinct key_name from TABLE;` results = snowflake.execute({sqlText: sql_col_list}); var script = ''; results.next() script += results.getColumnValue(1) while (results.next()) { script += ',' + results.getColumnValue(1) + '\n'; } return script; $$;
about 4 years ago · Juan Pablo Isaza Relatório

0

Una mala solución después de la solución de hecho, elimínela:

 > ',a,b,c'.replace(/^,/,''); 'a,b,c' >

otra opción es construir una matriz de las partes deseadas y luego usar unir

 > ['a','b','c'].join(',\n'); 'a,\nb,\nc' >

y si quieres la nueva línea final:

 > ['a','b','c'].join(',\n')+'\n'; 'a,\nb,\nc\n' >

O puede hacer que Snowflake lo haga por usted:

 SELECT listagg( DISTINCT key_name, ',\\n') || '\\n' FROM VALUES ('apple'),('cat'),('apple'),('cat'),('dog') t(key_name);
LISTAGG( DISTINCT KEY_NAME, ',\N')|| '\NORTE'
manzana,\ngato,\ndoperro\n
about 4 years ago · Juan Pablo Isaza Relatório

0

puede agregar un control booleano si esto es lo primero o no:

 var sql_col_list = `select distinct key_name from TABLE;` results = snowflake.execute({sqlText: sql_col_list}); var isFirst = true; while (results.next()) { if(isFirst) { script += results.getColumnValue(1) + '\n'; isFirst = false; continue; } script += ',' + results.getColumnValue(1) + '\n'; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda