Costrutto CASE END

di il
4 risposte

Costrutto CASE END

Chiedo conferma perchè nella documentazione non riesco a capire... la sintassi del costrutto CASE END è diversa a seconda che si trovi in una SELECT o dentro una store procedure?

Dico ciò perchè noto che all'interno di una select p.e.
SELECT Attributo,
 	CASE
 		WHEN COUNT(*) < 15 THEN ...
		WHEN COUNT(*) BETWEEN 15 AND 50 THEN ...
 		WHEN COUNT(*) > 50 THEN ...
    END
FROM TEST
	 INNER JOIN ...
Quando usato all'interno di una store procedure invece vedo:
CASE 
   WHEN <condizione> THEN istruzione 
   WHEN <condizione> THEN istruzione
   WHEN <condizione> THEN istruzione
END CASE;
Come mai questa differenza? Forse perchè le ultime istruzioni sono comandi diversi riferiti alle store procedure?

4 Risposte

  • Re: Costrutto CASE END

    Qualche volta le scelte operate dalla gente sono semplicemente sbagliate. Senza particolari spiagazioni!

    Mi pare che cerchi un po' troppo il pelo sull'uovo (o era nell'uovo?)
  • Re: Costrutto CASE END

    zio_mangrovia ha scritto:


    Chiedo conferma perchè nella documentazione non riesco a capire... la sintassi del costrutto CASE END è diversa a seconda che si trovi in una SELECT o dentro una store procedure?
    Mi sa che la documentazione la leggi troppo in fretta

    https://dev.mysql.com/doc/refman/5.7/en/case.htm
    There is also a CASE expr, which differs from the CASE statement described here. See Section 12.4, “Control Flow Functions”. The CASE statement cannot have an ELSE NULL clause, and it is terminated with END CASE instead of END.
  • Re: Costrutto CASE END

    Weierstrass ha scritto:


    Mi sa che la documentazione la leggi troppo in fretta

    https://dev.mysql.com/doc/refman/5.7/en/case.htm
    A dir la verità intenzionalmente evitato la documentazione ufficiale sul sito madre in inglese ! Grazie, adesso ho capito.
  • Re: Costrutto CASE END

    nicolap ha scritto:


    Mi pare che cerchi un po' troppo il pelo sull'uovo (o era nell'uovo?)
    Ma non sono d'accordo ... se devi scrivere del codice e non lo comprendi fino in fondo rischi di trovarti in "barchetta"
Devi accedere o registrarti per scrivere nel forum
4 risposte