Si vous pouvez accéder au contenu de la procédure stockée, vous devez changer à la place à une fonction table - si possible, une fonction en ligne (parce que cela a beaucoup plus de chance d'être optimisé).
Cela vous permettra de interroger les résultats et le modifier au besoin:
SELECT CASE column1
WHEN 'AAA' THEN 'Hello'
WHEN 'BBB' THEN 'goodbye'
END as NewColumn,
,*
FROM dbo.yourNewFunction() as t;
Si vous ne pouvez pas le faire, et sont très bien coincé avec une procédure stockée, vous pourriez l'envelopper dans OPENROWSET:
SELECT CASE column1
WHEN 'AAA' THEN 'Hello'
WHEN 'BBB' THEN 'goodbye'
END as NewColumn,
, *
FROM OPENROWSET('SQLNCLI','Server=.;Trusted_Connection=Yes;','EXEC dbo.YourProc') as t;
C'est un moyen de traiter la sortie d'une procédure comme une expression de la table, mais si vous pouvez le faire sans que la procédure, qui est encore mieux.
Merci à tous ceux qui ont aidé! – wali