2016-10-17 5 views
0

Я хочу использовать динамический фильтр в SQL процедуры , как этотКак использовать динамический фильтр в sql-процедуре?

Select * из таблицы, где @Filter

Могу ли я писать, как это или был Diffrent Способы использования я должен использовать этот синтаксис, потому что я хочу Удалить Выберите в процедуре применения и использования.

+0

Вам нужно динамический запрос –

+0

Да, Как можно написать процедуру с этим условием ??? – user3568937

+0

Вы когда-нибудь пытались добавить paramater в свою процедуру? – fable

ответ

0
CREATE PROCEDURE spProcedurName 
@Filter datatype 
AS 
BEGIN 
    SELECT * 
    FROM Table 
    WHERE columnName= @Filter 

END 

Вы можете параметрироваться таким образом.

+0

Я отлично понимаю, что так нравится – user3568937

0
CREATE PROCEDURE SP_DynamicFilter 
(
    -- Optional Filters for Dynamic Search 
    @COLUMN1  INT = NULL, 
    @COLUMN2  NVARCHAR(50) = NULL, 
    @COLUMN3  NVARCHAR(50) = NULL, 
    @COLUMN4  NVARCHAR(50) = NULL 
) 
AS 
BEGIN 
    SELECT * 
    FROM TableName 
    WHERE 
     (@COLUMN1 IS NULL OR Column1 = @COLUMN1) 
    AND (@COLUMN2 IS NULL OR Column2 LIKE '%' + @COLUMN2 + '%') 
    AND (@COLUMN3 IS NULL OR Column3 LIKE '%' + @COLUMN3 + '%') 
    AND (@COLUMN4 IS NULL OR Column4 LIKE '%' + @COLUMN4 + '%') 
END