如何在 SQL Server 中将包含变量的 OpenQuery 返回到游标?
DECLARE curMyCursor CURSOR FOR
EXEC('SELECT *
FROM OPENQUERY(SYBASE,
''SELECT * FROM MyTable WHERE MyPrimaryKey=''''' + @Variable + ''''''')')
OPEN @ResultCrsr
如何在 SQL Server 中将包含变量的 OpenQuery 返回到游标?
DECLARE curMyCursor CURSOR FOR
EXEC('SELECT *
FROM OPENQUERY(SYBASE,
''SELECT * FROM MyTable WHERE MyPrimaryKey=''''' + @Variable + ''''''')')
OPEN @ResultCrsr
你没有。将打开的查询结果放入临时表并在其上打开游标。
但是为什么你需要一个光标呢?我确信没有它会有更好的做事方式。
您必须使用 TSQL,因为您不能将变量传递给OPENQUERY
:
DECLARE sqlCMD VARCHAR(500);
SET @sqlCMD =
'SELECT * FROM OPENQUERY(PASON, ''SELECT * FROM MyTable WHERE MyPrimaryKey=''''' + @Variable + ''''''')')
EXEC (@sqlCMD);