Download

Der Zugriff auf diese Zeitschriftenausgabe steht dir aktuell nicht zur Verfügung. Du musst angemeldet sein und über ein gültiges Abonnement verfügen.

Download

Der Zugriff auf diese Zeitschriftenausgabe steht dir aktuell nicht zur Verfügung. Du musst angemeldet sein und über ein gültiges Abonnement verfügen.

Red Stack 05/2019

Erscheinungsdatum:  23.10.2019
Die aktuelle Ausgabe des Red Stack Magazins behandelt das Thema Cloud-Native. Begleiten Sie uns auf die Spurensuche ihrer Entwicklung und ihrer Grundlagen. Viel Spaß beim Lesen! Zum Download
  • „Das wichtigste Design-Kriterium ist die Hybrid- und Multi-Cloud-Fähigkeit, die durch die Cloud-Native-Technologien unterstützt wird." Interview mit Dr. Carlo Velten
  • Auf den Spuren der nächsten IT-Evolutionsstufe: Entwicklung und Grundlagen von Cloud Native, Benjamin Nothdurft
  • Reise in die chinesische Cloud, Jessica Steger
  • Ansible und Exadata — Eine perfekte Symbiose? Timo Giese
  • Patching Oracle — Was muss ich tun? Martin Bracher
  • SQLTXPLAIN — Helfer bei der Performance-Analyse, Stefan Seck
  • Autonomous Database, Sebastian Solbach
  • Oldies but Goldies — Teil 1, Roger Troller
  • Oracle Net 18c — Verschlüsselung ist keine Hexerei, Cornelia Heyde
  • Multitenant — Cloning von Datenbanken, Julian Frey
  • Sicheres Identifizieren von nicht relevanten Indizes, Peter Ramm
  • Eintopf und Trennkost — Datenbanken im Ereignishorizont moderner Software-Entwicklung, Daniel Nelle & Gabriel Nelle
Hier finden Sie im Magazin erwähnte Listings:

Roger Troller 
"Oldies but Goldies – Teil 1"
select DEPARTMENT_ID          ,extract(year from HIRE_DATE) as HireYear          ,round(avg(SALARY),2) as avgSALARY        from EMPLOYEES      where (DEPARTMENT_ID, trunc(HIRE_DATE,'year'))              in (select DEPARTMENT_ID, max(trunc(HIRE_DATE,'year'))                       from EMPLOYEES                     group by DEPARTMENT_ID          group by DEPARTMENT_ID                    ,extract(year from HIRE_DATE)          order by DEPARTMENT_ID;

Listing 6: Beispiel für durchschnittliche Saläre des letzten Einstellungsjahrs mit Unterabfrage
---
select DEPARTMENT_ID        ,min(extract (year from HIRE_DATE)) AS HireYear        ,round(avg(SALARY) keep (dense_rank last              order by extract(year from HIRE_DATE)),2) as AvgSALARY     from EMPLOYEES group by DEPARTMENT_ID;
DEPARTMENT_ID             HIREYEAR           AVGSALARY ------------------------     ----------------     ------------------                         10                   2003                   4400                         20                   2004                   6000                         30                   2002                   2500                         40                   2002                   6500 ...

Listing 7: Beispiel für durchschnittliche Saläre des letzten Einstellungsjahrs mit KEEP-LAST
---
B2Trace (P_Field || ' := to_date (''' || to_char(P_Date, 'DD.MM.YYYY') || ''', ''DD.MM.YYYY'')'); L_apo varchar2(20) := '''||' || '''''''''' || '||''';

Listing 8: User defined quote operator
---
B2Trace (P_Field || q'{ := to_date ('}' || to_char(P_Date, 'DD.MM.YYYY') || q'{', 'DD.MM.YYYY')}'); L_apo varchar2(20) := q'{'|| q'['']' ||'}';

Listing 9: User defined quote operator
---
SELECT sal               ,comm               ,round(sal / comm,3) AS sal_factor    FROM emp / ORA-01476: divisor is equal to zero

Listing 10: Fehler bei Division durch 0
---
select sal          ,comm          ,round(case                           ,when comm = 0 then null                           ,else sal / comm                      end,3) as sal_factor     from emp /                        SAL         COMM SAL_FACTOR -----------------------   -------------- ------------------                     1600              300              5.333                     1250              500                 2.5                     1250            1400               .893                     1500                  0

Listing 11: Division durch 0 via CASE verhindert
---
SELECT sal          ,comm          ,ROUND(sal / NULLIF(comm,0),2) AS sal_factor    FROM scott.emp /                        SAL         COMM  SAL_FACTOR -----------------------   -------------- ------------------                     1600              300               5.333                     1250              500                   2.5                     1250            1400                 .893                     1500                  0

Listing 12: NULLIF, um Division durch 0 zu verhindern
---
…        if l_string is not null then            l_string := l_string || '|';        end if;        l_string := l_string || l_value; …

Listing 13: Verkettung von Strings, IF, um zu verhindern, dass der String mit einem Pipe beginnt.
---
…      l_string := NULLIF(l_string || '|' , '|') || l_value; …

Listing 14: Verkettung von Strings, NULLIF, um zu verhindern, dass der String mit einem Komma beginnt.
---
Bitte warten