2009-01-28 125 views
0

如何返回包含變量的SQL Server中的OpenQuery到遊標?OPENQUERY與遊標中的變量

FOR EXEC

DECLARE curMyCursor CURSOR( 'SELECT * FROM OPENQUERY(SYBASE, '' SELECT * FROM MyTable的WHERE MyPrimaryKey =' '' '' + @Variable + '' '' '' ')')

OPEN @ResultCrsr

回答

2

你沒有。 將打開的查詢結果放入temo表中並在其上打開光標。

但爲什麼你需要一個光標?我相信沒有它,有更好的方式去做事情。

0

你必須使用TSQL,因爲你不能一個變量傳遞到OPENQUERY

DECLARE sqlCMD VARCHAR(500); 

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

EXEC (@sqlCMD);