1

カーソルに変数を含むSQLServerでOpenQueryを返すにはどうすればよいですか?

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

2 に答える 2

2

あなたはそうしない。開いているクエリの結果を一時テーブルに入れ、その上でカーソルを開きます。

しかし、なぜカーソルが必要なのですか?? それなしで物事を行うためのより良い方法があると確信しています。

于 2009-01-28T13:01:49.387 に答える
2

に変数を渡すことができないため、TSQL を使用する必要がありますOPENQUERY

DECLARE sqlCMD VARCHAR(500);

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

EXEC (@sqlCMD);
于 2016-12-07T03:53:12.480 に答える