2009-01-28 123 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);