Download

Access to this magazine issue is currently not available to you. You must be logged in and have a valid subscription.

Download

Access to this magazine issue is currently not available to you. You must be logged in and have a valid subscription.

Red Stack 05/2019

Publication date  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.
---
Please wait