ALTER PROCEDURE [dbo].[sp2_GetAllCategories] @SortExpression varchar(50) = NULL, @SortDirection varchar (5) = NULL AS BEGIN SET NOCOUNT ON; DECLARE @SortExpr varchar(50) SET @SortExpr = CASE WHEN @SortExpression IS NULL THEN 'CategoryNameEN' WHEN @SortExpression = 'CategoryNameEN' THEN 'CategoryNameEN' -- WHEN @SortExpression = 'CategoryDescriptionEN' THEN 'CategoryNameEN' WHEN @SortExpression = 'IsSubcategory' THEN 'IsSubcategory' WHEN @SortExpression = 'CategoryPkey' THEN 'CategoryPkey' END DECLARE @sql varchar(Max) SET @sql = 'SELECT * FROM Categories ORDER BY ' + @SortExpr + ' ' + ISNULL(@SortDirection, 'ASC') print (@sql) EXEC (@sql) END