Bonjour,
Je voudrais connaître l'instruction dans Oracle (9i) qui serait l'équivalence de l'instruction CASE dans SQL Server.
Merci
Bonjour,
Je voudrais connaître l'instruction dans Oracle (9i) qui serait l'équivalence de l'instruction CASE dans SQL Server.
Merci
Mon petit doigt me dit que l'équivalent s'appelerait .... CASE
la doc oracle :
http://download.oracle.com/docs/cd/B...5a.htm#1033394
en attendant la réponse au portage éventuel de SQL Server vers Oracle, j'ai anticipé cette question ... ça m'a permis d'avoir le lien avec doc Oracle (je navigue en aveugle tant que je ne peux transférer mes données sous Oracle).
Désolé pour le dérangement.
Merci
En sql : CASE
En Pl/Sql : IF THEN ELSE
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Non non, en pl/sql aussi il y'a case, la preuve:
En tant qu'expression : http://download.oracle.com/docs/cd/B...unds.htm#36899
En tant qu'instruction :
http://download.oracle.com/docs/cd/B...struc.htm#5997
Ha!
Il y a deux solutions!
Si je comprends bien: si je développe sous Oracle j'utilise le CASE; si je suis sous PL/SQL j'utilise le IF ?
J'ai à transporter cette Procédure Stockée SQL Server dans ma base Oracle 9i
Je ne vous demande pas de me faire tout le boulot mais juste de m'indiquer la structure à utiliser avec le IF (puisque avec le CASE ce devrait être assez semblable):
CREATE PROCEDURE [dbo].[spe_Sale_ENC]
AS
select
pt_Stores.ExpValue as GMACOD,
NULL as GVTNUM,
tb_Paids.Rank as GNBCOD,
tb_Paids.Tender_Name as GRGMOD,
case when LocalCurr = 0 then cast( tb_Paids.Take * 100 as int) else 0 end as GSANOM,
cast( tb_Paids.Amt * 100 as int) as GCVNOM,
case when LocalCurr = 0 then pt_FC_Names.ExpValue
else '' end as GRGDEV,
NULL as GCHTAU,
NULL as GCHDEC,
NULL as GFILER,
NULL as GRGNBR,
NULL as GRGNUM,
cast( tb_Sales.Inv_SID as bigint) as VTERPS,
Inv_Num as VTERPR,
cast( Cust_SID as bigint) as VTERPC
from tb_Sales
left join pt_Stores on pt_Stores.Store_ID = tb_Sales.Store_ID
left join tb_Paids on tb_Paids.Inv_SID = tb_Sales.Inv_SID
left join pt_FC_Names on pt_FC_Names.Curr_Name = tb_Paids.Curr_Name
GO
Merci
OK, merci.
S'il existe le CASE des deux côtés, je devrais pouvoir m'en tirer!
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Bonjour,
oui l'instruction case existe au niveau oracle 9i.
exemple:
voici un lien qui illustre exemple d'utilisation:
http://jplamontre.free.fr/AS400/SqlPivotTable.htm
Bonne chance
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager