requete incluant des procédures stockées ??? - SQL/NoSQL - Programmation
Marsh Posté le 20-01-2005 à 10:28:29
Je ne sais pas si c'est possible de lancer une procédure directement ds une requête ...
Marsh Posté le 20-01-2005 à 12:38:25
Cà dépend de la complexité de tes procédures ; si elles font de simples SELECT, tu peux les remplacer par des vues ...
Marsh Posté le 20-01-2005 à 13:26:32
je n'utilise pas les vues car je passe des paramètres dans les procédures stockées.
Marsh Posté le 21-01-2005 à 12:18:47
elle fait quoi ta ps ?
utilise plutôt des fonctions (même syntaxe ou presque sauf que tu peux faire :
select mafonction1(champ1) from mafonction(2) where champ2 = mafonction3(champ3)
Genre.
C'est infiniment plus facile à utiliser.
Je rappelle les rudiments de l'algo :
UNE PROCEDURE FAIT QUELQUECHOSE, ET NE RETOURNE RIEN.
UNE FONCTION VAUT QUELQUECHOSE, ET NE FAIT RIEN.
Marsh Posté le 21-01-2005 à 12:23:00
create function truc(@bidule as number)
returns table
as
begin
return (select * from matable where champ = @bidule)
end
select * from truc(5)
=> Retourne toutes les lignes de matable où champ = 5
create function truc2(@bidule as number)
returns number
as
begin
declare @nb as number
select @nb = count(*) from matable where champ = @bidule
return @nb
end
select truc2(5)
=> Retourn le nombre de lignes de matable où champ = 5
Tu peux parfaitement combiner :
select truc2(10), champ2 from truc(5)
=> Retourne champ2 pour toutes les lignes de matable où champ = 5, et préfixe le résultat par le nombre de lignes où champ = 10
Marsh Posté le 20-01-2005 à 10:20:41
bonjour j'ai plusieurs procédures stockées qui se nomment proc1, proc2 etc... dans sql server
pour les utiliser, j'utilise l'analyseur de requete en faisant: exec proc1 etc....
j'obtient des enregistrements mais je ne sais pas comment faire pour les utiliser ces derniers dans d'autres applications.
exemple:
r=exec proc1
select r from affaires,affairesent where affaires.num=affairesent.num
le problème c'est que r=exec proc1 n'existe pas et je ne sais pas comment faire pour lancer des requetes incluant des procédures stockées.
merci d'avance.