Thomas Kramer

IT-COW | All posts tagged 'Oracle'

Reminder: PL/SQL von Oracle und Datenbank-Optimierung

By Administrator at Juni 17, 2010 16:57
Filed Under: Administration, Reminder

Ich habe meinen kurzen Reminder zu PL/SQL nun doch in einen eigenen Artikel ausgegliedert, dann kann ich es später leichter wiederfinden.

 

Ein Beispiel-Skript

 

set echo off;
SET SERVEROUTPUT ON FORMAT WRAPED;
DECLARE
SUMME NUMBER := 0;
CURSOR AUFTRAGSTABELLE IS
SELECT * FROM $Auftragstabelle$;

Auftrag_Zeile $Auftragstabelle$%ROWTYPE;
BEGIN
OPEN Auftragstabelle;
LOOP
FETCH Auftragstabelle into Auftrag_Zeile;
EXIT WHEN Auftragstabelle%NOTFOUND;
Summe := Summe + Auftrag_Zeile.Preis;
end loop;
CLOSE Auftragstabelle;
dbms_output.put_line(Summe);
END;

 

Hier wird zunächst ein Cursor auf eine Tabelle $Auftragstabelle$ deklariert, mit OPEN Auftragstabelle wird diese dann geöffnet. Anschließend wird durch jeden Eintrag in der Tabelle mittels einer Endlosschleife durchiteriert, und jede Zeile wird mit dem FETCH-Befehl zwischengespeichert - in die Variable Auftrag_Zeile, die einem Datentyp repräsentiert der dem Aufbau der Tabelle $Auftragstabelle$ entspricht. In der Deklaration entspräche also %Type einer Spalte der Tabelle und %Rowtype einer Zeile der Tabelle - $Auftragstabelle.Spaltenname$%Type würde dementsprechend die Spalte "Spaltenname" der Auftragstabelle repräsentieren.

 

Wenn mehrere Zeilen mit einem Select (Fetch) zurückgeliefert werden sollen ist ein Cursor notwendig, wie er oben deklariert ist. Variablenzuweisungen geschehen in PL/SQL mit := wie in Pascal, || verkettet Strings miteinander.

 

Dokumentation zu PL/SQL

 

  • Oracle PL/SQL-Programmierung: Link
  • Oracle PL/SQL- kurz und gut: Link
  • PL/SQL- Eine Einführung: Link
  • Oracle PL/SQL Tutorial: Link
  • PL/SQL-FAQ: Link
  • Using PL/SQL: Link
  • ... und ein Blog zu PL/SQL: Link

 

Oracle-Datenbank-Optimierung

 

  • Tecchannel.de: Link
  • Datenbank-Tuning.de: Link
  • Oracle-Tuning with Parameters: Link.
  • Performance-Statistics: Link
  • Einsatz von DBMS_STATS: Link
  • Tipps des Monats von Muniqsoft.de: Link

 

Allgemeine Informationen zu Oracle


Mein allgemeiner Reminder zur Oracle-Namensauflösung und -Konfiguration ist hier einsehbar. In Bezug auf Oracle und ODBC (und den Windows-64-Bit-Versionen) ist auch einiges zu beachten: Link.

 

Tag-Wolke

Monats-Liste