如何解决动态编写的sql查询? [英] How to solve the sql query written dynamically?

查看:83
本文介绍了如何解决动态编写的sql查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我的SQL查询,写成一个字符串。获取以下错误

'@ LinkedServerName'附近的语法不正确附近出错



  SET  @ STRINSERT = @ STRIDENTITY + '  INSERT INTO' + < span class =code-sdkkeyword> @ ARCHIVEDB  + ' 。dbo。' +  @ TableName  + ' (' + < span class =code-sdkkeyword> @ ColumnList  + ' 
SELECT * FROM( SELECT * FROM OPENQUERY'
@ LinkedServerName ' SELECT' + @ ColumnList + ' FROM' + @ LI VEDB + ' 。dbo。' + @ TableName + '
WHERE'
+ @ DateField +
< CONVERT(DATETIME,'''
+ @ ArchiveAgeDate + ' '',103)+ 1'' AS X'

解决方案

嗯 - 你的报价在错误的地方,你错过了一个加号,我认为:

  SELECT  *  FROM  SELECT  *  FROM   OPENQUERY  ' (@ LinkedServerName, '  SELECT  '  + @ColumnList  

应该是

  SELECT  *  FROM  SELECT  *  FROM   OPENQUERY '  + @LinkedServerName,'  SELECT  '  + @ColumnList  


Below is my SQL Query written as a string. Getting following Error
"Error near Incorrect syntax near '@LinkedServerName'"

SET @STRINSERT=@STRIDENTITY+'INSERT INTO '+ @ARCHIVEDB +'.dbo.'+ @TableName +'('+ @ColumnList + ')
                    SELECT * FROM (SELECT * FROM OPENQUERY'(@LinkedServerName,'SELECT  '+ @ColumnList + ' FROM  '+ @LIVEDB +'.dbo.'+@TableName + '
                     WHERE '+ @DateField + '
                     < CONVERT(DATETIME,'''+@ArchiveAgeDate+''',103)+ 1')'AS X'

解决方案

Um - your quote is in the wrong place, and you missed a plus, I think:

SELECT * FROM (SELECT * FROM OPENQUERY'(@LinkedServerName,'SELECT  '+ @ColumnList

Should be

SELECT * FROM (SELECT * FROM OPENQUERY(' + @LinkedServerName,'SELECT  '+ @ColumnList


这篇关于如何解决动态编写的sql查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆