ALTER PROCEDURE [dbo].[csp_Objekt_GetAllObjekts] ( @StreetNo int, -- Search option @FirstRow Int, -- Starting Row Number @LastRow Int, -- Ending Row Number @SortColumn varchar(30), -- Sort Column Name @SortOrder varchar(4) -- Sort Direction (ASC/DESC) ) AS SET NOCOUNT ON DECLARE @OrderBy varchar(40) -- Setting Sort Column and Sort Order null for empty value IF @SortColumn IS NULL SET @SortColumn=ISNULL(@SortColumn,'') IF @SortOrder IS NULL SET @SortOrder=ISNULL(@SortOrder,'') -- Combining Sort Column and Sort order SET @OrderBy=@SortColumn+@SortOrder SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY -- Sorting StreetNo as Ascending order CASE WHEN @OrderBy = 'StreetNoASC' THEN StreetNo END ASC, -- Sorting StreetNo as Descending order CASE WHEN @OrderBy = 'StreetNoDESC' THEN StreetNo END DESC, -- Default Sorting by ObjektName CASE WHEN @OrderBy = '' THEN ObjektName END ASC ) AS RowNum, COUNT (*) OVER () AS TotalObjekts, ObjektId, ObjektName, Street, StreetNo, Land, PLZ, Ort, CreatedDate, IsContactPerson, IsDocument, IsPhoto, Notice FROM Objekt WITH(NOLOCK) WHERE -- Filtering StreetNo (@StreetNo IS NULL OR @StreetNo = 0 OR StreetNo LIKE @StreetNo + '%') )AS ObjektsData WHERE RowNum >=@FirstRow AND RowNum<=@LastRow -- Taking only the given range records SET NOCOUNT OFF
(StreetNo IS NULL OR StreetNo = 0
(@StreetNo IS NULL OR @StreetNo = 0 OR StreetNo LIKE cast(@StreetNo as varchar(10)) + '%')
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)