我試圖編寫一個存儲過程,我想通過IF/Else語句測試某個值的傳入參數,並最終將結果與另一個表交叉。像下面這樣一個非工作的僞示例。在SQL Server中使用條件操作與INTERSECT結合使用
ALTER PROCEDURE [dbo].[Search]
@Keyword nvarchar(MAX),
@ClasificationId int
AS
BEGIN
SET NOCOUNT ON;
IF (@Keyword != null)
SELECT * FROM Table WHERE [Keyword] LIKE @Keyword
ELSE
SELECT * FROM Table
INTERSECT
IF (@Classification != null)
SELECT * FROM Table WHERE [ClassificationID] = @ClassificationId
ELSE
SELECT * FROM Table
END
ClassificationID是一個NVARCHAR(MAX)?不像大多數字段沒有? –
loool你是對的。好點 – Sam