Thiyagu Arockiasamy Ответов: 1

Как использовать подкачку в динамическом запросе в SQL?..


CREATE PROCEDURE Sp_MultCompanyProject
       @LegalTypeID       VARCHAR(200) = NULL,
       @CompanyCategoryID VARCHAR(200) = NULL
AS
    BEGIN
        IF( @LegalTypeID = 'null' )
            BEGIN
                SET @LegalTypeID = NULL;
            END;
        IF( @CompanyCategoryID = 'null' )
            BEGIN
                SET @CompanyCategoryID = NULL;
            END;
        DECLARE @sql NVARCHAR(MAX);
        SET @sql = 'select distinct CompanyID,CompanyName,AliasName from MulitSearch_Portal WHERE (1=1)';
        IF @LegalTypeID IS NOT NULL
        SET @sql = @sql + ' and LegalTypeID IN (' + @LegalTypeID + ')';
        IF @CompanyCategoryID IS NOT NULL
        SET @sql = @sql + ' and CompanyCategoryID IN (' + @CompanyCategoryID + ')';
        EXEC sp_sqlexec  @sql;            
    END;


Что я уже пробовал:

1) MulitSearch_Portal - это таблица представлений(views)

Мое сомнение заключается в том, как создать подкачку, когда вышеописанная хранимая процедура "Sp_MultCompanyProject" ... любезно помогите

Kats2512

дублирующий вопрос о http://www.codeproject.com/Questions/1109965/How-to-implement-paging-in-dynamic-query-in-SQL

Thiyagu Arockiasamy

Это очень важно вот почему я прошу прощения

Kats2512

даже если это очень важно, вам не нужно дублировать вопросы, это грубо!

1 Ответов

Рейтинг:
8

Karthik_Mahalingam

попробовать это

create  PROCEDURE Sp_MultCompanyProject
       @LegalTypeID       VARCHAR(200) = NULL,
       @CompanyCategoryID VARCHAR(200) = NULL,
	   @pageno int   =1  , -- default page
	   @pagesize int = 10 -- default 10 items to display
AS
    BEGIN
        IF( @LegalTypeID = 'null' )
            BEGIN
                SET @LegalTypeID = NULL;
            END;
        IF( @CompanyCategoryID = 'null' )
            BEGIN
                SET @CompanyCategoryID = NULL;
            END;
        DECLARE @sql NVARCHAR(MAX), @sqlPaging NVARCHAR(MAX);
        SET @sql = 'select distinct CompanyID,CompanyName,AliasName from MulitSearch_Portal WHERE 1=1';
        IF @LegalTypeID IS NOT NULL
        SET @sql = @sql + ' and LegalTypeID IN (' + @LegalTypeID + ')';
        IF @CompanyCategoryID IS NOT NULL
        SET @sql = @sql + ' and CompanyCategoryID IN (' + @CompanyCategoryID + ')';
	 
	   exec (' select CompanyID,CompanyName,AliasName from ( SELECT ROW_NUMBER() OVER(ORDER BY CompanyID ) AS Row,* from ( '+@sql+' ) as T ) as pageResult where ( Row between (('+@pageno+' -1)* '+@pagesize+'+1) AND '+@pageno+' * '+@pagesize+' )'  );
    END;
	  
	 

	  --Sp_MultCompanyProject 'null','null', 1,3


Thiyagu Arockiasamy

Спасибо, сэр, что он работает.

Thiyagu Arockiasamy

Мой друг тоже поблагодарил вас . Большое спасибо....

Karthik_Mahalingam

пожалуйста

venkatesh (chennai)

спасибо вам сэр

Thiyagu Arockiasamy

Привет, сэр, я хочу, чтобы мне понадобился вышеописанный граф процедур, сэр . пожалуйста помогите мне сэр

Karthik_Mahalingam

напишите вопрос.