September 08, 2008

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

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

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


About The Author

Suprotim Agarwal, ASP.NET Architecture MVP works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He has also written an EBook 51 Recipes using jQuery with ASP.NET Controls.

Follow him on twitter @suprotimagarwal

No comments: