SQLServer Top语句参数化方法

时间:2021-11-22 00:23:20

declare @TopCount int 
set @TopCount = 100 
select 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 = ' 
select 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