以下存儲過程的工作原理,但我想知道 - 是否有最佳做法/模式來處理SQL Server中的這種類型的操作?實質上,我傳遞了兩個不同的參數。根據傳遞給「criteria」參數的內容,我在where子句中運行帶有特定條件的查詢 - 謝謝。多標準存儲過程最佳實踐/模式
ALTER PROCEDURE [dbo].[Select_Project_Info_By_Value]
(
@value VarChar(50),
@criteria VarChar(50)
)
AS
BEGIN
SET NOCOUNT ON;
if @criteria= 'All'
SELECT some some tables...
FROM dbo.Table1
WHERE (NOT (Status = 'ABC'))
else if @criteria = 'X'
SELECT some some tables...
FROM dbo.Table1
WHERE (Matno LIKE '%' + @value + '%') AND (NOT (Status = 'ABC'))
else if @criteria = 'Y'
SELECT some some tables...
FROM dbo.Table1
WHERE (ID LIKE '%' + @value + '%') AND (NOT (Status = 'ABC'))
else if @criteria = 'Z'
SELECT some some tables...
FROM dbo.Table1
WHERE (ProDescr LIKE '%' + @value + '%')
else if @criteria = 'A'
SELECT some some tables...
FROM dbo.Table1
WHERE (CustCode LIKE '%' + @value + '%') AND (NOT (Status = 'ABC'))
else if @criteria = 'B'
SELECT some some tables...
FROM dbo.Table1
WHERE (ApplName LIKE '%' + @value + '%') AND (NOT (Status = 'ABC'))
END