当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQLServer Top语句参数化方法

MSSQL
SQL Server 数据库操作实用技巧锦集
SQL Server转换为XQuery及反向转换
SQL Server 数据库崩溃后的恢复之法
在 SQL Server数据库开发中的十大问题
SQL Server 2000日志转移实现高可用性
帮你六步改善SQL Server安全规划全攻略
教你如何在SQL Server计算机列和平均值
理解 SQL Server 中系统表Sysobjects
用实例分析如何整理SQL Server输入数据
让VB实现SQL Server 2000存储过程调用
利用OBJECT_DEFINITION函数来代码存档
DTS构建组件及其如何完成数据转换服务
编写SQL Server的扩展存储过程实例
SQL Server和Oracle并行处理方法对比
SQL Server数据转换服务基本概念介绍
如何由Sybase向SQL Server移植数据库
如何在SQL Server中由原子建立分子查询
SQL Server用触发器强制执行业务规则
SQL Server数据库导入MySQL数据库体验
SQL Server可写脚本和编程扩展SSIS包

MSSQL 中的 SQLServer Top语句参数化方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 211 ::
收藏到网摘: n/a

在T-Sql中,一般top数据不确定的情况下,都是拼sql,这样无论是效率还是可读性都不好。应该使用下面参数化Top方式

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