Bonjour,
Je cherche le moyen de récupérer le résultat d'une procédure stockée dans une autre procédure stockée.
Voici un exemple :
Trois tables :
Utilisateur(ID, Nom)
Autorisation(ID_Utilisateur,ID_Rubrique)
Rubrique(ID, Titre)
CREATE PROCEDURE Utilisateurs_authorises @ID_rubrique as integer AS
SELECT ID
FROM Utilisateur
WHERE ID IN(
SELECT ID_Utilisateur
FROM Autorisation
WHERE ID_Rubrique=@ID_rubrique
)
CREATE PROCEDURE Affiche_utilisateur_authorises AS
SELECT Nom
FROM Utilisateur
WHERE ID IN(EXECUTE Utilisateurs_authorises 514)
Remmarques :
1) "On pourrait avoir le meme résultat en une procédure" allez-vous me dire, mais il s'agit ici d'un exemple simplifié. J'ai réelement besoin de diviser un traitement en deux procédures stockées.
2) La ligne : "WHERE ID IN(EXECUTE UTilisateurs_authorises 514)" ne fonctionne pas mais c'est un exemple que ce que je souhaite obtenir.
Il existe sans doute une solution en créant la procédure Utilisateurs_authorises de la façon suivante mais je ne sais pas comment exploiter cette dernière :
CREATE PROCEDURE Utilisateurs_authorises @ID_rubrique as integer, @resultTable CURSOR VARYING OUTPUT AS
Partager