Vraag : Oracle decodeert

Kan ik gebruiken decodeer om iets als het volgende te doen:

i wil tot een kolom leiden zegt inhoud die op een waarde in kolom paramater

if paramater = „rapport“ toen gebaseerd is ik de waarde in de rapportkolom
if wil gebruiken paramater = „tentoongesteld voorwerp“ dan ik de waarde in het tentoongestelde voorwerp column

All wil gebruiken de kolommen in de zelfde lijst zijn, maar is het paramater die bepaalt tot welke kolom = de „inhoud "

does dit betekenis maakt? Als niet, kan ik verduidelijken. Ik dacht van gebruiken verklaring decodeer, enkel zoals in SQL Server ik het Geval/wanneer Verklaring zou gebruiken. Kan dit in orakel, zonder het moeten een curseur schrijven worden gedaan?

Thanks voor uw hulp vooraf.

b

Antwoord : Oracle decodeert

het orakel verklaart dat de geval-wanneer-verklaringen sneller zijn dan decoderen. ook, wanneer het gebruiken geval-wanneer u volgzaam ANSI een blikhergebruik het manuscript bent als u wilt.

Ik heb steekproefcode vastgemaakt die u zou kunnen helpen.

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
-- dalings lijst als bestaat
Your_table de LIJST van de DALING;

-- cre�ër steekproeflijst
CRE�ëR your_table LIJST
(
   meld         VARCHAR2 (10)
 , tentoongesteld voorwerp        VARCHAR2 (10)
 , param          VARCHAR2 (10)
);


-- de waarden van de tussenvoegseltest
TUSSENVOEGSEL IN your_table (rapport
                       , param)
    WAARDEN („myreport“
           , „rapport“);

TUSSENVOEGSEL IN your_table (tentoongesteld voorwerp
                       , param)
    WAARDEN („myexhibit“
           , „tentoongesteld voorwerp“);
BEGA;

-- toon lijst
SELECTEER *
  VAN your_table;


-- voeg inhoudskolom toe
VERANDER your_table LIJST TOEVOEGEN inhoud varchar2 (100);

-- werk inhoudskolom bij
WERK your_table bij
   PLAATS tevreden      =
          COMPUTER-AIDED SOFTWARE ENGINEERING param
             WANNEER het „rapport“ DAN rapporteert
             WANNEER het „tentoongestelde voorwerp“ DAN tentoonstelt
             ANDERS NIETIG VERKLAAR
          EIND;

BEGA;


-- toon de nieuwe lijst
SELECTEER *
  VAN your_table;
Andere oplossingen  
 
programming4us programming4us