J'ai une procédure stockée qui renvoie des lignes :
CREATE PROCEDURE MyProc
AS
BEGIN
SELECT * FROM MyTable
END
Ma procédure actuelle est un peu plus compliquée, c'est pourquoi une sproc est nécessaire.
Est-il possible de sélectionner la sortie en appelant cette procédure ?
Quelque chose comme :
SELECT * FROM (EXEC MyProc) AS TEMP
J'ai besoin d'utiliser SELECT TOP X
, ROW_NUMBER
, et une clause WHERE
supplémentaire pour paginer mes données, et je ne veux pas vraiment passer ces valeurs comme paramètres.
Vous pouvez
... sql ....
Declare @T Table ([column definitions here])
Insert @T Exec storedProcname params
Select * from @T Where ...
Il semble que vous deviez simplement utiliser une [vue][1]. Une vue permet de représenter une requête sous la forme d'une table afin que la vue puisse être interrogée.
[1] : http://msdn.microsoft.com/en-us/library/aa258253%28SQL.80%29.aspx