今天做了一个根据动态生成表明来查询相关结果的存储过程,由于表名是动态生成,因此使用了SQL Server的动态查询,函数sp_executesql。写篇博客已记录开发过程中遇到的问题,以备查询。
需要统计的表是根据规则动态生成,格式如下:
因此在这里考虑使用SQL提供的sp_executesql 函数,它可以执行动态的修改,查询,删除功能。该函数官方详细文档,如下:
Sp_executesql:执行可以多次重复使用或动态生成的 Transact-SQL 语句或批处理。Transact-SQL 语句或批处理可以包含嵌入参数。
语法 :
sp_executesql [ @statement = ] statement
[
{ , [ @params = ] N'@parameter_name data_type [ OUT | OUTPUT ][ ,...n ]' }
{ , [ @param1 = ] 'value1' [ ,...n ] }
]
官方详细文档:http://technet.microsoft.com/zh-cn/library/ms188001.aspx
完成任务:
在不确定表名的情况下,根据生成表名规则及查询条件,返回统计结果:
要求函数返回值类型为int,则取对应字段的值返回
做法如下:
declare @AllCount int
declar