J'ai une procédure stockée qui renvoie à 80 colonnes, et de 300 lignes. Je veux écrire une sélection qui obtient 2 de ces colonnes. Quelque chose comme
SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'
Lorsque j'ai utilisé la syntaxe ci-dessus, j'obtiens le message d'erreur "Nom de Colonne non Valide".
Je sais que la solution la plus simple serait de modifier la procédure stockée, mais je n'ai pas l'écrire, et je ne peux pas le changer.
est-il possible de faire ce que je veux?
J'ai pu faire une table temp de mettre les résultats, mais parce qu'il y a 80 colonnes, donc j'aurais besoin de faire un 80 colonnes de la table temporaire juste pour obtenir 2 colonnes. Je voulais éviter la traque de toutes les colonnes qui sont retournés.
-
J'ai essayé d'utiliser
WITH SprocResults AS ....
, comme proposé par la Marque, mais j'ai eu 2 erreursSyntaxe incorrecte près du mot clé "EXEC".
Syntaxe incorrecte près de ')'. -
J'ai essayé de déclarer une variable de table et j'ai obtenu l'erreur suivante
Insérer l'Erreur: nom de la Colonne ou le nombre de valeurs fournies ne correspondent pas à la définition de la table
-
Si j'essaie
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
J'obtiens l'erreur :Syntaxe incorrecte près du mot clé "exec".