今天我在写一个存储过程的时候,想动态的取若干行出来,开始用拼接字符串也可以,但是总觉得不好,就在网上查资料,找到一种方式,但是怎么也没有成功,后来终于发现是该方法不能在sql2000中使用,只能在sql2005以上使用。 1、拼接查询语句(sql2000,2005,2
今天我在写一个存储过程的时候,想动态的取若干行出来,开始用拼接字符串也可以,但是总觉得不好,,就在网上查资料,找到一种方式,但是怎么也没有成功,后来终于发现是该方法不能在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