Appel conditionnel d'une procédure stockée avec paramètre

Résolu
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014 - 7 janv. 2014 à 14:27
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014 - 13 janv. 2014 à 09:12
Bonjour,

J'ai créée plusieurs procédures stockées(paramètrées) qui vont alimenter une Grid2 (C# ASP.NET) en fonction de la ligne sélectionnée dans ma Grid1 (par son ID). Je vais écrire un "algorythme" pour montrer ce que je souhaiterais :

en SQL
in @ID champ (ma ligne selectionnée)
si Champs1 = 2, execute procedure 1
sinon si Champs1 = 3 , execute procedure 2
sinon si Champs1 = 4 , execute procedure 3

Le paramètre d'entrée de mes procédures sont tous le même puisqu'il s'agit de l'ID de ma ligne selectionnée dans ma Grid1.

Quelle est la syntaxe SQL et comment gérer coté code ?

Bref, j'espère avoir été claire et que quelqu'un pourra m'aider car là je sèche :/

Merci d'avance...

2 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
12 janv. 2014 à 09:27
Bonjour

Pourquoi ne pas créer une procédure qui ferait l'aiguillage ?
CREATE PROCEDURE MainProc
	@ParamChamp int,
	@ParamID int
AS
BEGIN
 SET NOCOUNT ON;
 declare @StoreProc varchar(20)
 set @StoreProc=
   case @ParamChamp
     when 1 THEN 'sp_proc1'
     when 2 THEN 'sp_proc2'
     when 3 THEN 'sp_proc3'
   END

  Exec @StoreProc @ParamID
END
GO

1
Ilovedev Messages postés 16 Date d'inscription mardi 24 décembre 2013 Statut Membre Dernière intervention 22 janvier 2014
Modifié par Ilovedev le 13/01/2014 à 09:13
Bonjour Bob,

Merci beaucoup pour ton post...C'est effectivement ce que je cherchais à faire sans trouver comment l'écrire !

Super :o)
0
Rejoignez-nous