当前位置: 首页 > 知识库问答 >
问题:

如何在存储过程中使用Show命令-不起作用

穆俊名
2023-03-14

var res=stmt.execute();返回res$$;

预期的返回是一个表的列表,实际的结果是NaN。

共有1个答案

方宏富
2023-03-14

stmt.execute()调用返回resultset对象,当转换为float时,该对象将变为nan。您需要使用ResultSet对象提取从查询返回的数据。cmd

如果您希望“预期返回的是表列表”,那么过程返回类型float将不起作用。我怀疑您需要数组或完全灵活的变体。两者都具有以下功能:

$$
  var stmt = snowflake.createStatement( { sqlText: CMD } );
  var rs = stmt.execute();
  var result = [];
  while (rs.next())
    result.push(rs.getColumnValue(1));
  return result;
$$;

有关详细信息,请参阅存储过程API文档。

  var result = [], row, col;
  while (rs.next()) {
    row = [];
    for (col = 1; col <= stmt.columnCount; col++)
      row.push(rs.getColumnValue(col));
    result.push(row);
  }
var result = [], cols = Array.from({ length: stmt.columnCount }, (v, i) => i + 1);
while (rs.next()) result.push(cols.map(c => rs.getColumnValue(c)));
var result =
    [ Array.from({ length: stmt.columnCount }, (v, i) => stmt.getColumnName(i + 1)) ];
while (rs.next()) result.push(result[0].map(cn => rs.getColumnValue(cn)));
 类似资料:
  • 我有一个简单的存储过程,在我创建的表上执行。当我使用硬编码参数单独执行update语句时,它可以工作,但过程在执行时不会更新。它返回一个“命令已成功完成”,但不影响任何行。我检查了数据,数据也没有变化。

  • 问题内容: 我正在尝试构建一个将表名称作为参数的Oracle存储过程。然后,该过程将重建表上的所有索引。 我的问题是从存储过程中使用ALTER命令时出现错误,好像PLSQL不允许该命令一样。 问题答案: 这有两种可能。首先,您必须将SQL视为动态SQL。其次,Oracle DDL语句不能在事务中运行(或者,它们终止当前事务并且本身不能回滚)。这可能会影响您是否可以在存储过程中使用它们,或者可以在何

  • 我只是在Windows中安装jdk和jre版本8。环境变量已设置。我尝试在cmd中运行“java-version”,它显示了安装的java版本。但是当我尝试用“javac projectname”编译java项目时,系统说javac不能被识别为内部命令或外部命令。有谁能告诉我怎么修好它吗? 下面是我的环境变量: C:\users\foody>echo%路径%C:\ProgramData\Oracl

  • 我是PSQL新手。在终点站。我输入了以下命令 我面临以下错误: PSQL:无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受Unix域套接字“/var/run/PostgreSQL/.s.pgsql.5432”上的连接? 请有人在这方面帮助我。

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 在下面的示例中,存储过程工作,而不工作。两者之间唯一的区别是SQL语句的字母大小写。