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