USE TestingDBDECLARE @sqlcmd AS VARCHAR(4000)DECLARE @theErrNbr AS VARCHAR(500)CREATE TABLE table1 ( colA VARCHAR(50), colB VARCHAR(50))CREATE TABLE table2 ( Acol VARCHAR(50), Bcol VARCHAR(50))INSERT INTO table2(Acol,Bcol) SELECT 'Jack','Jill'UNION ALL SELECT 'Jack','Beanstalk'UNION ALL SELECT 'Queen','Hearts'--Working versionBEGIN TRANSET @sqlcmd = 'INSERT INTO table1'+ ' (colA,colB)'+ ' SELECT Acol, Bcol FROM table2'EXEC (@sqlcmd)SET @theErrNbr = @@ERRORCOMMIT TRANSELECT * FROM table1SELECT @theErrNbr AS 'ERROR'/*OutputcolA colB-------------------------------------------------- --------------------------------------------------Jack JillJack BeanstalkQueen HeartsERROR--------------------------------------------------0*/--CleanupDROP TABLE table1CREATE TABLE table1 ( colA VARCHAR(50), colB VARCHAR(50))DROP TABLE table2--Not working version due to lack of table2BEGIN TRANSET @sqlcmd = 'INSERT INTO table1'+ ' (colA,colB)'+ ' SELECT Acol, Bcol FROM table2'EXEC (@sqlcmd)SET @theErrNbr = @@ERRORCOMMIT TRANSELECT * FROM table1SELECT @theErrNbr AS 'ERROR'--CleanupDROP TABLE table1/*OuputMsg 208, Level 16, State 1, Line 1Invalid object name 'table2'.colA colB-------------------------------------------------- --------------------------------------------------ERROR--------------------------------------------------208*/