In Oracle gibt es die replace Funktion um Teile eines Strings durch einen anderen Teil zu ersetzen. Hierbei kann ein Zeichen oder eine Zeichenkette durch ein anderes Zeichen oder eine andere Zeichenkette ersetzt werden. Alternativ kann die replace Funktion auch dazu genutzt werden bestimmte Zeichen aus einem String zu entfernen.

Syntax der replace Funktion:

replace(mainString, replaceString, [replacementString])

mainString – String in dem Teile ausgetauscht werden sollen
replaceString – String welcher in mainString ersetzt werden soll. Dabei ist Groß- und Kleinschreibung zu beachten
replacementString – Wird replaceString in mainString gefunden, wird dieses durch den replacementString ausgetauscht. Wird dieser Parameter nicht angegeben (Parameter ist optional), so werden alle Vorkommen von replaceString aus dem mainString entfernt. Dies entspricht dann einem leeren replacementString von “.

weiterlesen von ‘Oracle – Replace Funktion’ »

 

In Oracle gibt es neben der replace Funktion noch die translate Funktion um einzelne Zeichen eines String durch ein anderes Zeichen zu ersetzen. Zu beachten ist, dass bei dieser Funktion nur jeweils ein Zeichen durch ein anderes Zeichen ersetzt wird. Jedoch ist es möglich mehrere einzelne Zeichen auf einmal zu tauschen.

Syntax der translate Funktion:

translate(mainString, replaceCharacters, replacementCharacters)

mainString – String in dem einzelne Zeichen ersetzt werden sollen
replaceCharacters – ein oder mehrere Zeichen welche in mainString ersetzt werden sollen
replacementCharacters – ein oder mehrere Zeichen welches durch das entsprechende Zeichen aus replaceCharacters ersetzt

weiterlesen von ‘Oracle – Translate Funktion’ »

 

Wie andere Sprache auch verfügt Oracle in PL/SQL auch über For-Schleifen mit denen jegliche Iterationen durchgeführt werden. Sehr oft werden diese in Verbindung mit Cursor genutzt, um die Ergebnisse davon einzeln zu durchlaufen.

declare
begin
  for i in 1 .. 10
  loop
    dbms_output.put_line(i);
  end loop;
end;

Hierbei muss die interne Zählvariable i nicht im declare-Block angegeben werden.

weiterlesen von ‘Oracle – PL/SQL For Schleife’ »

 

In SQL-Sprachen wird die where Bedingung genutzt, um relevante Daten aus einer größeren Menge von Daten zu filtern. Die where-Bedingung findet bei allen Abfragen (Select), Änderungen (Update) und Löschen (Delete) von Datensätzen Anwendung.

Syntaxbeispiele:

select * from employees where last_name = ‚King‘;
delete from employees where last_name = ‚King‘;
update employees set last_name = ‚Queen‘ where last_name = ‚King‘;

Die where-Bedingung kommt meist nach der Aufzählung der Tabelle (hier: employees) aus der Daten abgefragt/gelöscht werden sollen.

Operatoren der where-Bedingung:
weiterlesen von ‘SQL – Where Bedingung’ »

 

Unter Oracle kann mit der Funktion substr ein Teil aus einem größeren Wort oder Text ausgeschnitten werden.

Syntax: substr( string, start_position, [ length ] )

weiterlesen von ‘Oracle – substr Funktion’ »

 

Die instr-Funktion wird dazu genutzt um zu prüfen ob ein bestimmter Suchstring in einem anderen String vorkommt. Falls dieser Suchstring enthalten ist, bekommt man die Position an der der Suchstring beginnt zurückgeliefert. Falls der Suchstring nicht vorkommt, wird 0 zurückgeliefert.

Syntax der instr-Funktion von Oracle:

instr( string1, string2 [, start_position [, nth_appearance ] ] )

weiterlesen von ‘Oracle – instr Funktion’ »

 

Im PL/SQL werden Cursor genutzt um Daten aus Datenbanktabellen abzufragen.
Hierbei gibt es unterschiedliche Möglichkeiten die Cursor zu benutzen.

1. Implizite Cursor

Implizite Cursor sind nicht sichtbar sondern werden automatisch beim Aufruf eines SQL-Kommandos erzeugt.

declare
  vEmployeeId number;
begin
  select EMPLOYEE_ID into vEmployeeId from EMPLOYEES where LAST_NAME = 'Mavris';
exception
 when NO_DATA_FOUND then
   vEmployeeId := 0;
 when TOO_MANY_ROWS then
   vEmployeeId := 0;
end;

Hierbei ist der Anwender jedoch sehr eingeschränkt. Da wie im obigen Beispiel nur ein Datensatz als Ergebnis zurückkommen darf, da es ansonsten zu einer Fehlermeldung (TOO_MANY_ROWS) kommt. Kommt dagegen gar kein Ergebnis zurück wird ebenso ein Fehler (NO_DATA_FOUND) geworfen. Implizite Cursor sollen daher nur verwendet werden, wenn genau ein Datensatz erwartet wird bzw. die mögliche ORA-Fehler mittels EXCEPTION gefangen werden.

2. Explizite Cursor

weiterlesen von ‘Oracle – PL/SQL Cursor’ »

 

Oracle bietet mit der Funktion decode einen Wert auf mehrere mögliche Werte zu vergleichen und bei Übereinstimmung einen speziellen Wert zurückzugeben. Dies entspricht einer verkürzten Form von der IF-THEN-ELSE Syntax.

Syntax: decode( expression , search , result [, search , result]… [, default] )

expression – Ausgangswert der mit den Werten aus search verglichen werden soll
search – Vergleichswert; bei Übereinstimmung mit expression wird result zurückgeliefert
result – Wird als Ergebnis zurückgeliefert, falls expression gleich search ist
default – Sollte keine Übereinstimmung auftreten so wird dieser Wert zurückgegeben

Beispiel:

weiterlesen von ‘Oracle – Funktion decode’ »

 

Unter Oracle gibt es durch die Funktion nvl die Möglichkeit einen Wert auf null zu überprüfen und statt dem leeren Wert (’null‘) einen alternativen Wert zurückzuliefern.

Der Aufruf sieht folgendermaßen aus: nvl(expr_1, expr_2)

Falls expr_1 leer (’null‘) ist, so gibt die Funktion den expr_2 zurück, ansonsten expr_1.

Beispiel: In der Beispieltabelle EMPLOYEES gibt es die Spalte COMMISSION_PCT, welche nicht für jeden Datensatz befüllt ist. Wir wollen nun für die Datensätze standardmäßig 0 zurückliefern, wenn kein Wert hinterlegt ist.

select nvl(COMMISSION_PCT, 0) from EMPLOYEES;

 

Für Linux-Systeme steht der Kommandozeilen-Befehl mysqldump zum Exportieren von Mysql-Datenbanken zur Verfügung.

Allgemein sieht der Aufruf folgendermaßen aus:
Gebrauch: mysqldump [OPTIONEN] database [TABELLEN]
oder mysqldump [OPTIONEN] –databases [OPTIONEN] DB1 [DB2 DB3…]
oder mysqldump [OPTIONEN] –all-databases [OPTIONEN]

Export einer einzelnen Mysql-Datenbank:
linux> mysqldump <DATENBANK> > datenbank.sql

weiterlesen von ‘Mysql-Datenbank unter Linux exportieren und importieren’ »

Impressum Suffusion theme by Sayontan Sinha