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


About The Author

Suprotim Agarwal, MCSD, MCAD, MCDBA, MCSE, is the founder of DotNetCurry, DNC Magazine for Developers, SQLServerCurry and DevCurry. He has also authored a couple of books 51 Recipes using jQuery with ASP.NET Controls and a new one recently at The Absolutely Awesome jQuery CookBook.

Suprotim has received the prestigous Microsoft MVP award for nine times in a row now. In a professional capacity, he is the CEO of A2Z Knowledge Visuals Pvt Ltd, a digital group that represents premium web sites and digital publications comprising of Professional web, windows, mobile and cloud developers, technical managers, and architects.

Get in touch with him on Twitter @suprotimagarwal, LinkedIn or befriend him on Facebook

No comments: