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

变量中的动态sql计数

訾朗
2023-03-14

这个查询有效

select @V_COUNT =COUNT(1) from TAB1

但我想把表作为变量传递,在sybase中如何实现?

我试过这个但没有用

select @V_COUNT ='COUNT(1) from ''||@TMP_TABLE_NAME||'''
select @LL_COUNT =  CONVERT(numeric(30),@V_COUNT)

编辑:

是我干的

 SELECT @V_COUNT ='SELECT COUNT(1) from '+ @TABLE_NAME
     execute (@V_COUNT)
     SELECT @LL_COUNT = 'SELECT convert(NUMERIC(6),'||@V_COUNT||')'

不允许从数据类型“VARCHAR”隐式转换为“NUMERIC”。使用CONVERT函数运行此查询。

共有1个答案

巫朝明
2023-03-14

您需要使用以下命令执行该动态查询:

CREATE TABLE #Count(x int)
SELECT @sSQL = "INSERT #Count SELECT COUNT(1) from "+ @TMP_TABLE_NAME
execute (@sSQL)
SELECT @V_COUNT = x from #Count
DROP TABLE #Count
SELECT @LL_COUNT = (SELECT convert(NUMERIC(30,4), @V_COUNT))
SELECT @LL_COUNT

其中,@TMP_TABLE_NAME可能是选择@TMP_TABLE_NAME='tablename'是一个简单的字符串,您不需要执行它或从中获取结果。

 类似资料:
  • 我对bash脚本感到困惑。 我有以下代码: 我希望能够创建一个变量名称,其中包含命令的第一个参数并带有例如的最后一行的值。 为了说明我想要什么: 那么,我应该如何定义/声明,我应该如何在脚本中调用它? 我试过、、,但我仍然感到困惑。

  • 问题内容: 我有几百行代码来创建表,但是架构名称在所有DDL语句中都像SCHEMA_NAME1.TABLE_NAME一样被硬编码。如何将其作为变量并在所有地方使用,以便我们可以轻松地在一个地方更改SCHEMA_NAME要求的多个位置。请提出您的想法。 我想要这样的东西 问题答案: 使用SQL *Plus或SQLcl运行对象创建脚本时,请使用替换()变量代替硬编码的模式名称,并使用前导命令和尾随命令

  • 问题内容: 有什么方法可以根据html元素上的类设置颜色变量?还是通过其他方式实现这一目标? 问题答案: 这是基本主题。您可能想使用mixin或包含一个CSS文件中的多个主题。这是使用包括以下内容的方法: _theme.scss main.scss 您可以轻松地制作一个混合色,它使用3种颜色作为其参数来代替include:

  • 问题内容: 我想使用运行时之前不知道的字段名称过滤器来调用查询…不确定如何构造变量名称…或者我很累。 如果funct()返回的名称等于 不知道该怎么做… 问题答案: 您可以创建字典,设置参数,然后通过解压缩字典作为关键字参数将其传递给函数:

  • 您好,我的请求sql中需要发送变量。用于在我的数据库中搜索值 我的问题是语法错误。 谢谢你帮助我。 意外令牌 '%' ?[90mwrapSafe(内部/模块/cjs/loader.js:979: 16)?[39m?[90m模块_compile(内部/模块/cjs/loader.js:1027: 27)?[39m?[90m对象。模块。_extensions... js(内部/模块/cjs/loade

  • 问题内容: 我想使用变量名创建备份SQL表。 类似于 但是我越来越 ‘@SQLTable’附近的语法不正确。 这只是用于维护的小脚本的一部分,因此我不必担心注射。 问题答案: