2009-01-28 6 views
0

Comment puis-je renvoyer un OpenQuery dans SQL Server incluant une variable à un curseur?OPENQUERY avec une variable dans un curseur

DECLARE CURSOR curMyCursor POUR EXEC ('SELECT * FROM OPENQUERY (SYBASE, '' SELECT * FROM MyTable OÙ MyPrimaryKey =' '' '' + @Variable + '' '' '' ')')

OPEN @ResultCrsr

Répondre

2

vous ne le faites pas. place le résultat de la requête ouverte dans une table temo et ouvre un curseur dessus.

mais pourquoi avez-vous besoin d'un curseur? Je suis sûr qu'il y a une meilleure façon de faire les choses sans cela.

0

Vous devez utiliser TSQL puisque vous ne pouvez pas passer une variable dans un OPENQUERY:

DECLARE sqlCMD VARCHAR(500); 

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

EXEC (@sqlCMD); 
Questions connexes