SQL 语句select top 变量问题

   今天我在写一个存储过程的时候,想动态的取若干行出来,开始用拼接字符串也可以,但是总觉得不好,就在网上查资料,找到一种方式,但是怎么也没有成功,后来终于发现是该方法不能在SQL2000中使用,只能在SQL2005以上使用。

  1、拼接查询语句(SQL2000,2005,2008均可)

  DECLARE @a AS INT

  SET @a=1

  EXEC('SELECT TOP '+@a+' * FROM mtrcLanguages')

  2、直接使用(适用SQL2005以上)

  DECLARE @a AS INT

  SET @a=2

  SELECT TOP(@a) * FROM Common.tblCode tc

时间: 2024-09-24 10:33:15

SQL 语句select top 变量问题的相关文章

sql语句怎么调用变量?

问题描述 sql语句怎么调用变量? 我在存储过程里面定义一个变量,然后根据传进来的参数判declare @a ; if(isnull(@abc0)>0) set @a= ' and name=""+@abc+""' select * from p where id=1 @abc....像这样 在查询语句里面加这个 怎么做?这个查询语句是很长的 有上千行改成执行字符串的 exec('select ..'+@a+'...') 这种应该不好把 解决方案 既然是存储过

《Java EE核心框架实战》—— 2.5 将SQL语句作为字符串变量传入

2.5 将SQL语句作为字符串变量传入 Java EE核心框架实战 在MyBatis中也支持将SQL语句当成变量传入. 新建名为sqlStringVar的Java项目,映射文件userinfoMapping.xml的内容如下. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" &

hql-hibernate框架 使用sql语句 select count查询不到。。

问题描述 hibernate框架 使用sql语句 select count查询不到.. 代码 String sql = "select count(servId) from "+set; sess=sessionFactory.openSession(); tx=sess.beginTransaction(); Query query = sess.createSQLQuery(sql); BigDecimal count = (BigDecimal)query.uniqueResul

oracle11g-使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存

问题描述 使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存 使用select语句像某个表中插入数据,表的单号要为该语句的ItemCode的值+5位流水号.流水号的规则是查询出来的"RowNum"的值自动补0为5为流水号.怎么出入,查询数据如图 解决方案 新增一列numerical order 类型为字符串 然后写个方法计算numerical order ,insert进去. 但只用sql语句的话,还没想到. 解决方案二: 试试这个: select itemcode

[数据库] SQL语句select简单记录总结

最近SQL语句写得比较多,也发现了自己的很多不足之处.在此先写一篇关于SQL语句的在线笔记,方便大家学习和后面的工作,SQL Server.MySQL.Oracle基本语法都类似,接下来我需要阅读<SQL Server性能优化与管理的艺术>. 最后,希望这篇文章对你有所帮助吧!重点是select语句的用法.目录如下: 一.创建数据库和表 1.创建数据库 2.创建表并设置主键 3.插入数据 二.select查询操作 1.通过日期计算年龄 2.获取某列所有不同的属性值 group by 3.查询字

oracel中sql语句和pl/sql语句使用绑定变量

关于绑定变量的用法: 之前的文章介绍了绑定变量对于系统的重要性,这里对绑定变量的使用做进一步的分析和说明. 1)在sql语句中如何带入bind value SQL> variable x number; SQL> exec :x:=100; PL/SQL procedure successfully completed. SQL> select * from t where id=:x; no rows selected SQL> exec :x:=101; SQL> sel

用SQL语句统计IP地址前三段

ip地址|统计|语句 /* written by Jaron ,2003-07-10 *//* 首次发表于CSDN *//* 转载请注明出处和保留此版权信息 */ 在做网站统计专家时,我们需要对IP地址段进行统计和分析,这里应用SQL-SERVER的自定义函数和存储过程实现在数据库中直接生成结果,以下代码稍作修改即可. /* SQL语句 */ select top 99 dbo.fn_ipleft3(IPAddress),count(id) FROM tblStatisticalDetail 

hql-怎么在sql语句的String里定义变量

问题描述 怎么在sql语句的String里定义变量 如String hql ="from Book as book where book.bookNo = [变量]" Query query = session.createQuery(hql); 字符串hql该怎么写呢? 解决方案 declare 变量名 varchar(255); #非数字变量 declare 变量名 int; #数字变量 select * from book where book.bookNo = 变量名: 解决方

经典SQL语句大集合

经典SQL语句大集合,下列语句部分是Mssql语句,不可以在access中使用. 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name