SQLServer中使用参数化Top语句计算机等级考试
文章作者 100test 发表时间 2009:07:09 20:31:16
来源 100Test.Com百考试题网
编辑特别推荐:
全国计算机等级考试(等考)指定教材
全国计算机等级考试学习视频
全国计算机等级考试网上辅导招生
全国计算机等级考试时间及科目预告
百考试题教育全国计算机等级考试在线测试平台
全国计算机等级考试资料下载
全国计算机等级考试论坛
在T-Sql中,一般top数据不确定的情况下,都是拼sql,这样无论是效率还是可读性都不好。应该使用下面参数化Top方式:
declare @TopCount int
set @TopCount = 100
0select top (@TopCount) * from AdventureWorks.HumanResources.Employee
如果有Like等字句,一定要拼Sql的话,也应该使用sp_executesql来执行,示例如下:
declare @TopCount int --定义top 数量
set @TopCount = 100
declare @Title nvarchar(100) --定义like内容
set @Title = %n%
declare @SelectSql nvarchar(max)
set @SelectSql =
0select top (@TopCountPar) *
from AdventureWorks.HumanResources.Employee
where Title like @TitlePar --使用参数化的top和like
--使用sp_executesql 来执行,可以提高效率
exec sp_executesql @SelectSql,
N @TopCountPar as int,@TitlePar as nvarchar(100) ,
@TopCountPar = @TopCount,@TitlePar = @Title