自分で問題を見つけようとした後、デバッグを行います
@cols および @cols2 変数が結果をもたらさないことがわかりました。PRINT があります。
PRINT('INSERT INTO [' + @Destination_Database_Name + '].[dbo].[' + @tablename + '] (' + @cols2 + ']' + ') SELECT [' + @cols2 + ']' + ' FROM [' + @Source_Database_Name + '].[dbo].[' + @tablename + ']');
そして、ステートメントは私が得るすべての出力を表示しません
(1 行が影響を受けます)
(1 行が影響を受けました) 私はここにいます2
c365online_script1 私はここにいます3 tCompany
これは私が問題だと思うコードのセクションです
Print 'I am here2'
SET IDENTITY_INSERT c365online_script1.dbo.tCompany ON
declare @cols2 varchar(max)
PRINT @cols2
select @cols2 = (Select Stuff((Select '],[' + C.COLUMN_NAME From INFORMATION_SCHEMA.COLUMNS As C Where C.TABLE_SCHEMA = T.TABLE_SCHEMA And C.TABLE_NAME = T.TABLE_NAME Order By C.ORDINAL_POSITION For Xml Path('')), 1, 2, '') As Columns From INFORMATION_SCHEMA.TABLES As T WHERE T.TABLE_NAME = @tablename)
PRINT('INSERT INTO [' + @Destination_Database_Name + '].[dbo].[' + @tablename + '] (' + @cols2 + ']' + ') SELECT [' + @cols2 + ']' + ' FROM [' + @Source_Database_Name + '].[dbo].[' + @tablename + ']');
PRINT @Destination_Database_Name
Print 'I am here3'
Print @tablename
END
リクエストに応じて完全なコードを投稿できます