Skip to content Skip to sidebar Skip to footer

How To Take Table Name As An Input Parameter To The Stored Procedure?

I have a small stored procedure below. I am taking the table name as an input parameter to the stored procedure so that I'm planning to insert the data into the temp table and dis

Solution 1:

CREATEPROCEDURE xyz 
@TableName NVARCHAR(128) 
ASBEGINSET NOCOUNT ON;
  DECLARE@Sql NVARCHAR(MAX);

SET@Sql= N'SELECT TOP 10 * INTO #Temp_Table_One 
              FROM '+ QUOTENAME(@TableName)
          + N' SELECT * FROM #Temp_Table_One 'EXECUTE sp_executesql @SqlEND

Solution 2:

use sql dynamic

try

CREATEPROCEDURE xyz @TableNameVarchar(50) 
ASBEGINDECLARE@queryset@query='SELECT TOP 10 * FROM '+@TableNameEXEC@queryEND

add schema name.

eg:

exec xyz @TableName = 'dbo.mytable'

exec xyz @TableName = 'myschema.mytable'

Solution 3:

CREATEPROCEDURE sp_Get_Table
@Table_Name SYSNAME
ASBEGINSET NOCOUNT ON;
DECLARE@DynamicSQL NVARCHAR(4000)
SET@DynamicSQL= N'SELECT * FROM '+@Table_Name
EXECUTE sp_executesql @DynamicSQLEND
GO

EXEC sp_Get_Table 'tblUKCustomers'

This code will help you

Post a Comment for "How To Take Table Name As An Input Parameter To The Stored Procedure?"