2009-11-20 41 views
1

我有我在哪裏經過5放慢參數如何寫在存儲過程中,如果狀況的情況下

table name=" image" 
parameter 
@imageID, 
@imageName, 
@imageDirectory, 
@imageResource, 

從前端的表[由不同於TextBox控件頁]如果他們因此未發送任何值到存儲procedue然後我應該做一個簡單的查詢 條件1:

select * From image 

條件2: 如果它們的任何值發送到上述這些參數 然後收集那些vlaues和retrive結果基於所述parameted發送

條件3: 在這裏,他們可能會發送值到任何參數 在該條件下爲該參數選擇值。爲此,他們還沒有發送值,我們可以把「零」或「」

因此基於該retrive結果

所以如何寫一個存儲過程這樣的條件參數。處理所有這三個條件

anyhelp將是真正偉大 謝謝

+1

更好地列出您的列明確,而不是*儘管。 – 2009-11-20 17:31:14

回答

5

嘗試沿着這些路線的東西:

SELECT * FROM IMAGE i 
WHERE 1=1 
AND (@ImageID IS NULL OR i.ImageId = @ImageID) 
AND (@ImageName IS NULL OR i.ImageName = @ImageName) 
AND (@ImageDirectory IS NULL OR i.ImageDirectory = @ImageDirectory) 
AND (@ImageResource IS NULL OR i.ImageResource = @ImageResource) 
0

您還可以使用IsNull(Transact-SQL的具體)或Coalesce(SQL -92標準)功能,如:

​​3210
相關問題