【问题标题】:OPENQUERY with a variable in a cursorOPENQUERY 在游标中带有变量
【发布时间】:2010-10-03 23:19:56
【问题描述】:

如何在 SQL Server 中将包含变量的 OpenQuery 返回到游标?

DECLARE curMyCursor CURSOR FOR
    EXEC('SELECT *
          FROM OPENQUERY(SYBASE,
                ''SELECT * FROM MyTable WHERE MyPrimaryKey=''''' + @Variable + ''''''')')
OPEN @ResultCrsr

【问题讨论】:

    标签: sql sql-server sybase linked-server


    【解决方案1】:

    您必须使用 TSQL,因为您无法将变量传递给 OPENQUERY

    DECLARE sqlCMD VARCHAR(500);
    
    SET @sqlCMD = 
       'SELECT * FROM OPENQUERY(PASON, ''SELECT * FROM MyTable WHERE     MyPrimaryKey=''''' + @Variable + ''''''')')                    
    
    EXEC (@sqlCMD);
    

    【讨论】:

      【解决方案2】:

      你没有。 将打开的查询结果放入临时表并在其上打开游标。

      但是为什么你需要一个光标呢?我确信没有它会有更好的做事方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-03
        • 2014-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多