Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : If et else dans stored procedure [ SQL Server, MSDE, SQL Express / Procédures Stockées ] (issoux)

mercredi 15 novembre 2006 à 13:42:23 | If et else dans stored procedure

issoux



Bonjour , j'essaie de faire des condition if et else imbriqué dans une stored procedure sous sql server 2000 , mais je n'y arrive pas : probleme de syntaxe :


savez vous me dire comment s'y prendre :

ce que j'ai fait :

if @role='admin' then  select * from admin

else if @role='user' then select * from user

mais apparemment ca bug


merci de votre aide

mercredi 15 novembre 2006 à 23:39:55 | Re : If et else dans stored procedure

Malkuth

Membre Club
Réponse acceptée !
En fait Then c'est pas pour le IF en TSQL,

On dis

IF condition
   commande
ELSE
   commande

ou

IF condition
BEGIN
   block de commandes
END
ELSE
BEGIN
   block de commandes
END

THEN c'est pour les instruction CASE :

CASE
   WHEN conditiona THEN
      expression
   WHEN conditionb THEN
      expression
   ELSE
      expression
END

Les CASE sont évaluer comme des expressions (comme l'opérateur ?: en C) et nom pas comme des blocks conditionnel (switch en C)

EX :

SET @MaChaine = CASE 
   WHEN @MonInt = 3 THEN
      N'MonInt vaut 3'
   WHEN @MonInt = 2 THEN
      N'MonInt vaut 2'
   ELSE
      N'MonInt vaut ?'
END;

on peux d'ailleurs dans ce cas adopter la syntaxe suivante :

SET @MaChaine = CASE @MonInt
   WHEN 3 THEN
      N'MonInt vaut 3'
   WHEN 2 THEN
      N'MonInt vaut 2'
   ELSE
      N'MonInt vaut ?'
END;

mais cette syntaxe n'est valable que pour tester une seule donnée et seulement des égaliter (trés proche du switch).

on ne pourat donc pas l'utiliser pour :

SET @MaChaine = CASE 
   WHEN @MonInt > 3 THEN
      N'MonInt vaut +3'
   WHEN @MonAutreInt = 2 THEN
      N'MonAutreInt vaut 2'
   ELSE
      N'MonInt vaut ' + cast(@MonInt as nvarchar)
END;

jeudi 16 novembre 2006 à 00:09:02 | Re : If et else dans stored procedure


Cette discussion est classé dans : select, from, procedure, role, stored


Répondre à ce message

Sujets en rapport avec ce message

Select * from uneProcedureStockee [ par lutin2004 ] Bonjour, je voudrais faire une requête du style Select * from uneProcedureStockee where critere = "ccccc" Qui s'apparenterait en fait à un tri des rés Faire plusieurs if dans un procedure stockee [ par chris81 ] bonjour,comment puis je faire pour verifier plusiseurs if dans la meme procedure stockee c'est a direif not exist(SELECT Id FROM...) et if not exists( pb SELECT avec LIKE [ par Stubbornman ] Salut à tous,quelqu'un peut-il m'expliquer pourquoi cette requête ne fonctionne pas:SELECT * FROM table WHERE colonne LIKE '[a-e]%' OR colonne LIKE '[ Besoin d'aide en SQL avec access [ par developvbdebut ] Bonjour tout le mondeon tape le nom recherché dans une zone de text. les noms et prenoms s'affiche dans une zone de liste (car plusieurs membres de la SELECT + float(5,2) [ par djagger ] Salut !je fais la requete suivante :SELECT * FROM my_tarif WHERE min=15.49ca ne marche pas !!!!!?????par contre :SELECT * FROM my_tarif WHERE min</STR Requete Imbriqué Erreur Aussi :s [ par SF2Boss ] Voici La requete Rebelle : SELECT </s Selection de tables [ par Rouk ] Bonjour,je debeloppe en vb.net un datagrid alimente par une base sqlje voudrai faire une selection des tables que j'affiche dans le datagrid.SELECT PROBLEME SUR REQUETE ET SOUS REQUETE [ par SR2 ] voici mon problèmeje souhaiterai réaliser la meme opération qu'avec cette requete mais en utilisant des jointures INNER JOINpour eviter toutes ces sou Stored Procedure [ par elpens ] Bonjour, J'ai quelques soucis avec des procédures stockées qui utilisent des "String" (nvarchar) comme identifiant.Voilà :CREATE PROCEDURE GetIdCompan Requêtes imbriquées. Erreur [ par patatedu65 ] Bonjour,j'aimerai qu'on m'aide à toruver une solution au problème que je vous expose tout de suite.J'ai développé un site en PHP/MySQL. J'ai fait mes


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.