CREATE PROCEDURE [dbo].[usp_Common_Sel_Table]
-- Add the parameters for the stored procedure here
@TableName nvarchar(128)
,@SelectorString nvarchar(500) = '*'
,@SortExpression nvarchar(200)
,@FilterString nvarchar(2000)
,@TopCount int = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @Filter NVARCHAR(2050);
DECLARE @SqlString NVARCHAR(4000);
DECLARE @SortExp NVARCHAR(250);
DECLARE @SelectTop NVARCHAR(20);
IF @FilterString is NULL or @FilterString = ''
BEGIN
SET @Filter = ''
END
ELSE
BEGIN
SET @Filter = ' WHERE ('+ @FilterString +') '
END
IF @SortExpression is NULL or @SortExpression = ''
BEGIN
SET @SortExp = ''
END
ELSE
BEGIN
SET @SortExp = ' ORDER BY ' + @SortExpression
END
IF @TopCount > 0
BEGIN
SET @SelectTop = ' TOP('+Cast(@TopCount as Nvarchar)+') '
END
ELSE
BEGIN
SET @SelectTop = ''
END
/* Specify the parameter format one time. */
SET @SqlString = N'
SELECT ' + @SelectTop + ' ' + @SelectorString + ' FROM [' + @TableName + '] ' + @Filter + '
' + @SortExp
--PRINT @SqlString
EXECUTE sp_executesql @SqlString
END