skip to content

IT and more

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.

Oracle: Mittels einer Select-Abfrage ein neues Kommando basteln

Posted by Benjamin Wagner (benjamin) on Feb 16 2019

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.

Last changed: Feb 16 2019 at 01:11

Back

Kommentar

email address:
Homepage:
URL:
Comment:

Name:

E-Mail (required, not public):

Website:

Kommentar :

Prüfziffer:
16 minus 1  =  Bitte Ergebnis eintragen

Up
K