Anmeldung

Benutzername: Passwort:
Haben Sie Ihre Zugangsdaten vergessen?


IT und mehr

Willkommen auf der IT Seite.
Hier möchte ich einige Howtos, Anleitungen und andere IT-Relevante Dinge zum Download bereitstellen.

Bitte beim Download zur weiteren Verwendung aber auf das Copyright achten!

Bei weiteren Fragen könnt ihr mir auch eine Mail zukommen lassen.



 

<< Monitoring einer Oracle-10G-Datebank Übersicht Oracle10 unter Debian Lenny 5.0 >>
Mittels einer Select-Abfrage ein neues Kommando basteln Wie kann ich den AUsgabewert einer Abfrage für eine neues Kommando nutzen?

Beispiel:

Aus allen Tabellen eines Users soll die Anzahl der Datensätzen herausgelesen werden.
Wie kann ich das über ein Script schaffen?

In unserem Fall hat der Anwender 4 Tabellen (TEST1 bis TEST4)

Dazu erstellt man z.B. folgende Abfrage:
select table_name from user_tables;

Jetzt bekomme ich aber eine ganze Anzahl von Tabellen angezeigt. Muss ich nun für jede Tabelle das Kommando select count(*) from tabelle eingeben?
 

Nein!

Hier hilft uns folgendes Kaskadieren weiter:
select 'select count(*) from  ' || table_name || ';' from user_tables;
Das Format sieht so aus:
select 'TEXT' || SPALTENNAME DER ORIGINAL-SPALTE || 'WIEDER TEXT' FROM TABELLE;

oder in unserem Fall:

select count(*) from TEST1;
select count(*) from TEST2;
select count(*) from TEST3;
select count(*) from TEST4;

Das ganze Kann man also auch gut für Reports benutzen:
Wir haben eine Tabelle TEST1 mit folgendem Inhalt:

NUMMER,NAME,BEMERKUNG
1,Max Mustermann,Gaertner
2,Hans Hansen,Pfoertner
 
Da können wir doch folgenden Satz ausgeben lassen
select 'Unser Mitarbeiter ' || NAME || ' mit der Mitarbeiternummer ' || NUMMER || ' arbeitet bei uns als ' || BEMERKUNG || '' from TEST1;
Als Ergebniss kommt heraus:
Unser Mitarbeiter Max Mustermann mit der Mitarbeiternummer 1 arbeitet bei uns als Gaertner                                                                                                                                                                                                                         
Unser Mitarbeiter Hans Hansen mit der Mitarbeiternummer 2 arbeitet bei uns als Pfoertner
 
Damit kann man sich also einfach selber neue Kommandos zusammenbasteln (z.B. über den Spool-Befehl in eine SQL-Datei ausleiten), oder einfah Reports durch Informationen auflockern.
 

 

 



Zuletzt geändert von Benjamin Wagner (benjamin)  am Oct 23 2008  um 13:39
<< Monitoring einer Oracle-10G-Datebank Übersicht Oracle10 unter Debian Lenny 5.0 >>