Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/06/2008, 11h03   #1
Invité de passage
 
Inscription : mai 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 8
Points : 2
Points : 2
Par défaut Appel d'une procédure stockée dans un ordre select

Bonjour,

J'ai un petit soucis depuis hier soir et après des heures de recherche toujours NADA .

J'ai créé une procédure stockée (PS1) qui me ramène pour un responsable de pôle passé en paramètre, l'ensemble des utilisateurs de son pôle et des pôles hiérarchiquement inférieurs.

Je sais qu'il est possible d'appeler une procédure stocké depuis une autre, mais je ne sais pas comment faire pour récupérer les résultats de l'ordre select de PS1.

J'aimerais pouvoir lister l'ensemble des habilitations de l'ensemble des utilisateurs subalternes d'un responsable de pôle en réutilisant ma procédure.

Merci beaucoup de votre aide.

ellyne
ellyne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 09h56   #2
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 782
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 782
Points : 1 853
Points : 1 853
Pourquoi ne pas faire cela dans des fonctions plutôt que des procédures ?
L'imbrication sera beaucoup plus aisée à faire.
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 10h46   #3
Invité de passage
 
Inscription : mai 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 8
Points : 2
Points : 2
Citation:
Envoyé par Jinroh77 Voir le message
Pourquoi ne pas faire cela dans des fonctions plutôt que des procédures ?
L'imbrication sera beaucoup plus aisée à faire.
Merci beaucoup pour ta réponse.
Effectivement j'avais bien pensé le faire de la sorte.

mais la procédure existe déjà et est utilisée dans mes pages Aspx.

En fait ce que tu me proposes c'est de copier le code de ma procédure dans une fonction ?

Ou de faire l'appel de ma procédure dans une fonction ?
Je ne sais pas comment faire pour cette dernière proposition.
ellyne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h57   #4
Invité de passage
 
Inscription : mai 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 8
Points : 2
Points : 2
Bon bah en fait j'ai trouvé tout seul comment je pouvais utiliser ma procédure dans une autre procédure sans devoir la copier.

Le fait est que si je l'a duplique, la maintenance sera d'autant plus difficile.

Ma solution est donc de stocker ma première procédure PS1 dans une table temporaire.

Voici un petit exemple :

Code :
1
2
3
4
5
6
7
8
Declare @PersonneResp  TABLE (prs_login nvarchar(50), prs_nom_prenom nvarchar(MAX))
 
INSERT INTO @PersonneResp EXEC [dbo].[PRS_SELECT_PERSONNE_POLE]
 
 
SELECT DISTINCT shp.hbl_id
FROM SIE_HABILITATION_PERSONNE shp
WHERE shp.prs_login IN (SELECT pr.prs_login FROM @PersonneResp pr)

++

tout le monde
ellyne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 17h28   #5
Invité de passage
 
Inscription : mai 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 8
Points : 2
Points : 2
Bon je crois que je me parle vraiment tout seul loool.
Mais je suis bon samaritain, je vais faire avancer le problème.

Enfin de compte mon code ci-dessus ne marche pas pour moi.
Il marchera dans la plupart des cas, mais pas s'il existe des insert EXEC imbriqués.


Voici un petit lien qui pourra beaucoup vous aider j'espère.
http://www.sommarskog.se/share_data.html#INSERTEXEC
ellyne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 17h36   #6
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 782
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 782
Points : 1 853
Points : 1 853
Dans un des topics pas trop loin, SQL Pro avait donné une méthode pour récupérer les lignes sortant d'une PS.
Je n'ai pas le lien, mais ça ne doit vraiment pas être loin (semaine dernière max).
Jinroh77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2008, 21h03   #7
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 792
Points : 17 792
Citation:
INSERT INTO matable
EXEC Maproc.
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h27.


 
 
 
 
Partenaires

Hébergement Web