Frage : Oracle decodieren

Kann ich verwende decodiere, um etwas wie das folgende zu tun:

i möchten eine Spalte herstellen sagen, dass Inhalt, der auf einem Wert Spalte paramater

if im paramater = „Report“ dann ich basiert, den Wert im Reportspalte
if paramater verwenden möchten = „Ausstellung,“ dann, das ich den Wert im Ausstellung column

All verwenden möchte, die Spalten in der gleichen Tabelle sind, aber es das paramater ist, das feststellt, welche Spalte = „Inhalt "

does dieses Richtung bilden? Wenn nicht, kann ich erklären. Ich dachte an die Anwendung der Decodierungsaussage, gerade, wie im SQL-Server ich den Fall/als Aussage benutzen. Kann dieses im Orakel getan werden, ohne zu müssen, einen Cursor zu schreiben?

Thanks für Ihr Hilfe im Voraus.

b

Antwort : Oracle decodieren

Orakel angibt, dass Fall-wennaussagen schneller sind, als decodieren n. auch bei der Anwendung, Fall-wenn Sie gefälliges ANSI eine Dosenwiederverwendung der Index sind, wenn Sie wünschen.

Ich angebracht Beispielcode h, der Ihnen helfen konnte.

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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
-- Tropfentabelle, wenn existiert
TROPFEN-TABELLE your_table;

-- Beispieltabelle herstellen
Die your_table TABELLE HERSTELLEN
(
   über VARCHAR2         (10) berichten
 , Ausstellung        VARCHAR2 (10)
 , Param          VARCHAR2 (10)
);


-- Testwerte einsetzen
IN your_table EINSETZEN (Report
                       , Param)
    WERTE („myreport“
           , „Report ");

EINSATZ IN your_table (Ausstellung
                       , Param)
    WERTE („myexhibit“
           , „Ausstellung ");
FESTLEGEN;

-- Tabelle zeigen
VORWÄHLEN *
  VON your_table;


-- zufriedene Spalte addieren
Die your_table TABELLE ÄNDERN ADDIEREN zufriedenes varchar2 (100);

-- zufriedene Spalte aktualisieren
Your_table AKTUALISIEREN
   Inhalt EINSTELLEN      =
          Param UMKLEIDEN
             WENN „Report“ DANN berichten
             WENN „Ausstellung“ DANN ausstellen
             SONST NULL
          ENDE;

FESTLEGEN;


-- die neue Tabelle zeigen
VORWÄHLEN *
  VON your_table;
Weitere Lösungen  
 
programming4us programming4us