How to Copy a Table from One Database To Another By Passing Table Names As Parameters

Let us take a scenario where you want to copy a table kept in one database to a table in another database. You would also like to keep the query dynamic and would pass the source and destination table names as parameters. Let us see how we can the stored procedure to do so

Create Stored Procedure to copy table

CREATE PROCEDURE usersp_COPYTABLE
@DestTable nvarchar(150), @SrcTable nvarchar(150)
AS
DECLARE @SQL nvarchar(100)
SET @SQL = 'SELECT * INTO ' + @DestTable + ' FROM ' + @SrcTable
-- Pass DestTable = 'AdventureWorks.dbo.CustomersTemp'
-- Pass SrcTable = 'Northwind.dbo.Customers'
EXEC (@SQL)

Execute Stored Procedure by passing table names as parameters

DECLARE @return_value int

EXEC @return_value = [dbo].[usersp_COPYTABLE]
@DestTable = N'AdventureWorks.dbo.CustomersTemp',
@SrcTable = N'Northwind.dbo.Customers'

SELECT 'Return Value' = @return_value

GO

No comments:

Post a Comment