我不能爲我的生活出此存儲過程是如何工作的或它是什麼做的正是,我知道它的作品原樣,但我想限制哪些需要修改一些這方面的數據庫調用存儲過程。深入地理解存儲過程
CREATE PROCEDURE scriptassist.getQueue
@Status smallint = -1,
@GroupID uniqueidentifier = null,
@MACAddress varchar(200) = ''
AS
SET NOCOUNT ON
Print @GroupID
SELECT *
FROM [Queue]
WHERE
case @Status
When -1 Then
Case When ISNULL(Status,0) <> 1 Then 1 Else 0 End
Else
Case When ISNULL(Status,0) = @Status Then 1 Else 0 End
End =1
And
case When @GroupID IS NULL Then 1
Else
Case When GroupID = @GroupID Then 1 Else 0 End
End =1
And
case @MACAddress
When ''
Then 1
Else
Case When MACAddress = @MACAddress Then 1 Else 0 End
End =1
Order By DateEntered DESC
我知道,它以某種方式動態地定義Where子句,但我不確定做什麼。此外,如果有人知道一個工具,可以讓我看到實際發生的事情,謝謝!
好吧,現在我明白這裏發生了什麼,謝謝 – msarchet 2010-06-03 16:23:25