SQL SERVER 動態查詢
需要統計的表是根據規則動態生成,格式如下:
因此在這裡考慮使用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
declare @exesql nvarchar(1000);
--動態查詢
set @exesql='select @temp = count(*) from [dbo].['+ @tableName +'] where ID='''+@ID +''''
exec sp_executesql @exesql,N'@temp int output', @AllCount output
select @AllCount;
結果:
將統計結果輸出到變數@AllCount中。
提醒:
對於動態表名及欄位使用非常簡單,但獲取結果使用動態語句是有一定規則的,如上面的列子,需要把表名宣告成Nvarchar的,然後執行動態語句時,宣告其動態語句中變數前也要加N ,如N'@a
Output:指示該引數為輸出引數。
以上的相關內容就是對SQL server 動態查詢的介紹。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-674566/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 查詢分解SQLServer
- 動態SQL——構造通用動態頁面查詢SQL
- PHP--動態生成sql查詢表格PHPSQL
- SQL Server遞迴查詢SQLServer遞迴
- SQL SERVER 查詢鎖資訊SQLServer
- SQL server跨庫查詢SQLServer
- Sql Server系列:子查詢SQLServer
- SQL server 查詢語句SQLServer
- SQL Server 分散式查詢SQLServer分散式
- SQL Server 跨域查詢SQLServer跨域
- 查詢(2)--動態查詢
- Linq to Sql : 動態構造Expression進行動態查詢SQLExpress
- sql-server高階查詢SQLServer
- SQL Server阻塞查詢語句SQLServer
- Sql Server系列:巢狀查詢SQLServer巢狀
- SQL Server 查詢優化功能SQLServer優化
- sql server分組查詢示例SQLServer
- 一句SQL完成動態分級查詢SQL
- linq to sql的多條件動態查詢SQL
- SQL Server 跨資料庫查詢SQLServer資料庫
- Sql Server 的引數化查詢SQLServer
- sql-server不相關子查詢SQLServer
- sql-server相關子查詢SQLServer
- sql server的許可權查詢SQLServer
- Sql Server系列:多表連線查詢SQLServer
- SQL SERVER 跨伺服器查詢SQLServer伺服器
- 查詢當前SQL Server的版本SQLServer
- MS SQL Server查詢優化方法SQLServer優化
- SQL Server之查詢檢索操作SQLServer
- 我如何調優SQL Server查詢SQLServer
- MS SQL Server的遞迴查詢SQLServer遞迴
- MS SQL Server查詢優化方法SQLServer優化
- Spring Data Jpa 的簡單查詢多表查詢HQL,SQL ,動態查詢, QueryDsl ,自定義查詢筆記SpringSQL筆記
- SQL Server-簡單查詢語句SQLServer
- SQL Server查詢慢的解決方案SQLServer
- 查詢 SQL SERVER 所有表記錄數SQLServer
- Sql Server系列:查詢分頁語句SQLServer
- Microsoft SQL Server查詢最佳化方法ROSSQLServer