mssql sqlserver 运行sql脚本出现错误信息”the name is not a valid identifier error in function”的处理方法分享


摘要:
下文讲述一次动态执行sql脚本,出现以上错误信息的处理方法,如下所示:
实验环境:sql server 2008 R2

今天存储过程动态拼接跨服务器查询数据,出现错误信息:
the name is not a valid identifier error in function

百思不得其解,最后将sql脚本打印出来,放入查询分析器中,才发现数据库名称是一个sql关键字,所以出现以上错误信息,最后我们采用中括号将关键字括起,问题得到完美解决。

     
      declare @sqlInfo nvarchar(2000)
    declare @databaseName  nvarchar(100)
      set @databaseName ='select'   
    SET @sqlInfo = ' select info from [' + @databaseName+ '].dbo.[maomao365.com]  where keyId=1 ' 
     
     print (@sqlInfo)
     exec  (@sqlInfo)