[Oracle] Decode dans une procédure ?

Decode dans une procédure ? [Oracle] - SQL/NoSQL - Programmation

Marsh Posté le 28-10-2002 à 10:02:22    

Peut-on mettre la fonction Decode dans une procedure car tous les exemples sont dans le cas d'un SELECT
 
Il s'agit d'une migration de SQL SERVER vers Oracle(version 8i 1.7).
Comment transcrire un CASE WHEN ..THEN ?
Le IF est-il la seule solution, ça semble assez lourd !

Reply

Marsh Posté le 28-10-2002 à 10:02:22   

Reply

Marsh Posté le 28-10-2002 à 14:53:19    

Il n'est pas possible d'utiliser la fonction "Decode" autrement que dans un ordre Select, et ce pour les raisons que t'expliquent "LE" guru Oracle du PL/SQL, Steve Feuerstein, dans cet article : http://www.oreview.com/9701feue.htm
Il t'explique aussi comment la simuler...
 
Pour ce qui est de l'equivalent du CASE en pl/sql, eh bien tu as raison...,il n'existe pas en tant que tel, c'est la structure condtionnelle suivante à base de IF qui le remplace:
 
IF <condition_1> THEN ...
 
ELSIF <condition_2> THEN ...
 
... ...
 
ELSIF <condition_n> THEN ...
 
ELSE ...
 
END IF;

Reply

Marsh Posté le 28-10-2002 à 15:47:55    

Merci beaucoup pour ta réponse
c'est bien ce que je pensais  :cry:  

Reply

Marsh Posté le 28-10-2002 à 18:23:13    

Tu peux toujours utiliser dual pour le faire:
 
SELECT DECODE(variable_à_decoder,.....) INTO variable_décodée FROM DUAL;

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed