sql 在存儲過程中的動態查詢--就是當有的查詢條件為空時就不加入查詢


下面是一個比較巧妙的方法去實現所謂的“動態查詢”

ALTER PROCEDURE [dbo].[Test]
@flag int,
@inorout int
AS
BEGIN

SELECT * FROM Demo 
where 1 = 1
and ((@flag IS NULL) or (flag=@flag) or @flag = '')
and ((@id IS NULL) or (id=@id) or @id= '')
END

@flag是傳入的參數
 
so...如果要啟用id作為查詢條件,就傳入一個非null的值,否則就是不啟用id作為查詢條件,這就是傳說中的動態查詢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM