OPENQUERY с переменной в курсоре - PullRequest
1 голос
/ 28 января 2009

Как я могу вернуть OpenQuery в SQL Server, включая переменную для курсора?

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

Ответы [ 2 ]

2 голосов
/ 07 декабря 2016

Вы должны использовать TSQL, поскольку вы не можете передать переменную в OPENQUERY:

DECLARE sqlCMD VARCHAR(500);

SET @sqlCMD = 
   'SELECT * FROM OPENQUERY(PASON, ''SELECT * FROM MyTable WHERE     MyPrimaryKey=''''' + @Variable + ''''''')')                    

EXEC (@sqlCMD);
2 голосов
/ 28 января 2009

ты не. поместите результат открытого запроса во временную таблицу и откройте на нем курсор.

а зачем вообще курсор? я уверен, что есть лучший способ сделать это без него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...