前言
之前有園友一直關(guān)注著我快點(diǎn)出SQL Server性能優(yōu)化系列,博主我也對(duì)性能優(yōu)化系列也有點(diǎn)小期待,本來打算利用周末寫死鎖以及避免死鎖系列的接著進(jìn)入SQL Server優(yōu)化系列,但是在工作中長(zhǎng)時(shí)間都是利用EF來操作SQL,不免對(duì)寫SQL語句有些生疏,在某些場(chǎng)景下還是只能利用底層的SQL語句或者寫存儲(chǔ)過程來實(shí)現(xiàn),很久沒寫存儲(chǔ)過程都忘記怎么寫了,所以本節(jié)穿插動(dòng)態(tài)SQL查詢的文章,別著急,博主說過不會(huì)爛尾,博主再忙也會(huì)抽空將整個(gè)SQL Server系列梳理完畢,那樣的話,無論對(duì)初級(jí)還是中級(jí)者都可以從中受益匪淺,至少我是這么認(rèn)為,呵呵。
動(dòng)態(tài)SQL語句查詢
前前篇我們簡(jiǎn)短敘述了利用EXEC和EXECUTE來進(jìn)行動(dòng)態(tài)SQL語句查詢,并未深入去講解,借博主工作中重新回到寫原生SQL語句的機(jī)會(huì),我們?cè)賮砘仡櫹聞?dòng)態(tài)SQL語句查詢。既然是動(dòng)態(tài)SQL查詢,說明在某些場(chǎng)景下利用硬編碼SQL語句查詢的方式是不可行的,比如查詢條件的不固定,這是最常見的情景,那么動(dòng)態(tài)SQL語句查詢有哪幾種方式呢?萬變不離其宗,只有以下三種方式,請(qǐng)往下看。
參數(shù)化SQL語句動(dòng)態(tài)查詢
參數(shù)化SQL查詢是動(dòng)態(tài)SQL查詢中最簡(jiǎn)單的一種,因?yàn)槲覀冎恍枰獋鬟f參數(shù)即可,查詢條件是固定的,我們一起來溫故而知新。
USE AdventureWorks2012 DECLARE @AccountNumber AS VARCHAR(200) SET @AccountNumber = 'AW00000002'SELECT StoreID, CustomerID, ModifiedDate,