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