SQLServer Top语句参数化方法

 更新时间:2009年07月07日 19:07:23   作者:  
在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

相关文章

  • REPLICATE 以指定的次数重复字符表达式

    REPLICATE 以指定的次数重复字符表达式

    sql server以指定的次数重复字符表达式REPLICATE函数:REPLICATE函数用于以指定的次数重复字符表达式。
    2010-06-06
  • T-SQL查询为何慎用IN和NOT IN详解

    T-SQL查询为何慎用IN和NOT IN详解

    IN和NOT IN是比较常用的关键字,为什么要尽量避免呢?这篇文章主要给大家介绍了关于T-SQL查询为何慎用 IN和NOT IN的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • DataGrip 格式化SQL的实现方法(自定义Sql格式化)

    DataGrip 格式化SQL的实现方法(自定义Sql格式化)

    DataGrip 是 JetBrains 发布的多引擎数据库环境,本文主要介绍了如何自定义Sql格式化风格,具有一定的参考价值,感兴趣的可以了解一下
    2021-09-09
  • 一些SQLServer存储过程参数及举例

    一些SQLServer存储过程参数及举例

    一些SQLServer存储过程参数及举例,需要的朋友可以参考下。
    2011-03-03
  • MSSQL数据类型及长度限制详细说明

    MSSQL数据类型及长度限制详细说明

    在 Microsoft® SQL Server™ 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money 等等)的特性。
    2008-08-08
  • sql中的left join及on、where条件关键字的区别详解

    sql中的left join及on、where条件关键字的区别详解

    LEFT JOIN 关键字从左表(table1)返回所有的行,即使右表(table2)中没有匹配。如果右表中没有匹配,则结果为 NULL。这篇文章主要介绍了sql中的left join以及on、where关键字的区别,需要的朋友可以参考下
    2018-08-08
  • sqlserver 触发器实例代码

    sqlserver 触发器实例代码

    何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程
    2011-12-12
  • SQL 研究 相似的数据类型

    SQL 研究 相似的数据类型

    数据类型在精度,范围上有较大的差别。选择合适的类型可以减少table和index的大小,进而减少IO的开销,提高效率。本文介绍基本的数值类型及其之间的细小差别。
    2009-07-07
  • SQL SERVER实现连接与合并查询

    SQL SERVER实现连接与合并查询

    本文详细讲解了SQL SERVER实现连接与合并查询的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • MSSQL 游标使用 心得

    MSSQL 游标使用 心得

    MS-SQL游标的使用及理解 windows或DOS的“光标”不同,MS-SQL的游标是一种临时的数据库对象,既对可用来旋转储存在系统永久表中的数据行的副本,也可以指向储存在系统永久表中的数据行的指针。
    2009-04-04

最新评论