我已经在sql上进行了一些调试,但是我无法弄出令人发指的错误,我将其范围缩小到几行,我看不到问题所在,请有人提供帮助。
我得到这个错误
我在这里2
Msg 102,第15级,状态1,第1行
语法不正确
']'。
我在这里3
Print 'I am here2'
SET IDENTITY_INSERT c365online_script1.dbo.tCompany ON
declare @cols2 varchar(max)
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)
EXEC('INSERT INTO [' + @Destination_Database_Name + '].[dbo].[' + @tablename + '] (' + @cols2 + ']' + ') SELECT ' + @cols2 + ']' + ' FROM [' + @Source_Database_Name + '].[dbo].[' + @tablename + ']');
Print 'I am here3'
最佳答案
您在这里缺少方括号:
... ') SELECT ' + @cols2 + ']' + ' FROM ...
此外,我建议您改用the
QuoteName()
function代替:... ') SELECT ' + QuoteName(@cols2) + ' FROM...
关于sql - ']'附近的语法不正确。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19729326/