Services
FTP-Control
HTML-Baukasten
DyQL
5 - Weitere DyQL-Beispiele

db-Interface Seite 5

Sofern nicht besonders darauf hingewiesen wird, sind alle nachfolgenden Beispiele für Oracle-Datenbanken geeignet:



Beispiel 1

/* Diese SQL-Anweisung zeigt den Füllstand jedes Tablespace in der Datenbank an. */

var
format='999,999,999,999';
var format2='990.00';
set title=TABLESPACE USAGE; -- (DBA_DATA_FILES, DBA_FREE_SPACE)
select tablespace_name as "Tablespace", bytes as "Size", nvl(bytes-free,bytes) as "Used", nvl(free,0) as "Free", to_char(nvl(100*(bytes-free)/bytes,100), {format2}) as "% Used"
from
(
select ddf.tablespace_name, sum(dfs.bytes) as free, ddf.bytes as bytes from
(select tablespace_name, sum(bytes) as bytes from dba_data_files group by tablespace_name) as ddf, dba_free_space as dfs
where ddf.tablespace_name = dfs.tablespace_name (+)
group by ddf.tablespace_name, ddf.bytes
)
order by 5 desc;

/* "set title" übergibt einen String an den zugehörigen Ausgabe-Reiter als Überschrift. Die Angaben hinter doppelten Bindestrichen "--" bis zum Zeilenende werden als Kommentar interpretiert. */



Beispiel 2

/* Dieses Beispiel übernimmt aus einer ComboBox-Auswahl eine Variable "Gruppe" und übergibt diese an die beiden folgenden SQL-Anweisungen. */

var gruppe=combo 'Gruppe',,select GRUPPE as ID, GRUPPE as Entry from FORMULARE where GRUPPE is not null group by GRUPPE;

select * from FORMULARE where GRUPPE = '{gruppe}' and DATUM > {d '{date-10}'} order by ID desc;

select HTMLDATEI, count(HTMLDATEI) as Anzahl from FORMULARE where GRUPPE = '{gruppe}' group by HTMLDATEI;



Beispiel 3 kombiniert mit XML

/* Hier ein komplexes Beispiel für den MS-SQL-Server */

set connection=MSDASQL,Empirum;
var felder={art} as Bezeichnung, a.name as "WKS-Name", null as "Vorname/Abt", null as "Name/Organisation", a.Domain, {adresse} as Adresse, a.Custom01+'/'+a.Custom02 as Gebäude, a.Custom03 as Raum, {model} as Model, null as SerienNr, null as InventarNr, {OS} as OsVersion, i.LastModTime;
var ip1=left(i.IPAddress,4)='172.';
var ip2=left(i.IPAddress,4)='150.';

set title=Workstation;
select {felder} from Clients a left join InvComputer i on a.client_id=i.client_id
where {art} = 'Workstation'
--and {ip1}
--and {OS} like 'WinX%'
--and i.LastModTime > {d '2008-01-01'}
order by 2;

set title=Server;
select {felder} from Clients a left join InvComputer i on a.client_id=i.client_id
where {art} = 'Server'
--and {ip2}
--and {OS} like 'WinX%'
--and i.LastModTime > {d '2008-01-01'}
order by 2;
--
--select * from Clients order by name
--select * from InvComputer order by computername

/* Variablen können auch als xml-Variante im DyQL definiert werden */
<extends>
<art>
case
when left(a.name,3)='SRV' or left(a.name,4)='SERV' or left(a.name,3)='VS-' or left(a.name,3)='RS-' then 'Server'
else 'Workstation' end
</art>

<adresse>
case
when a.Custom01 ='NET1' then 'Interweg 2, 10000 Berlin'
when a.Custom01 ='NET2' then 'Interweg 4, 10000 Berlin'
else null end
</adresse>

<model>
(
select case
when name='Intel(R) Pentium(R) 4 CPU 1.60GHz' then 'P4 1.6 GHz'
when name='Intel(R) Pentium(R) 4 CPU 1.70GHz' then 'P4 1.7 GHz'
when name='Intel(R) Pentium(R) 4 CPU 1.80GHz' then 'P4 1.8 GHz'
when name='Intel(R) Pentium(R) 4 CPU 1.90GHz' then 'P4 1.9 GHz'
when name='Intel(R) Pentium(R) 4 CPU 2.00GHz' then 'P4 2.0 GHz'
when name='Intel(R) Pentium(R) 4 CPU 2.40GHz' then 'P4 2.4 GHz'
when name='Intel(R) Pentium(R) 4 CPU 2.60GHz' then 'P4 2.6 GHz'
when name='Intel(R) Pentium(R) 4 CPU 2.66GHz' then 'P4 2.6 GHz'
when name='Intel(R) Pentium(R) 4 CPU 2.80GHz' then 'P4 2.8 GHz'
when name='Intel(R) Pentium(R) 4 CPU 3.00GHz' then 'P4 3.0 GHz'
when name='Intel(R) Pentium(R) 4 CPU 3.06GHz' then 'P4 3.0 GHz'
when name='Intel(R) Pentium(R) 4 CPU 3.20GHz' then 'P4 3.2 GHz'
when name='Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz' then 'Core2 1.6 GHz'
when name='Intel(R) Core(TM)2 CPU 4400 @ 2.00GHz' then 'Core2 2.0 GHz'
when name='Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz' then 'Core2 2.2 GHz'
when name='Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz' then 'Core2 2.4 GHz'
when name='Intel(R) XEON(TM) CPU 1.80GHz' then 'Xeon 1.8 GHz'
when name='Intel(R) Xeon(R) CPU 5130 @ 2.00GHz' then 'Xeon 2.0 GHz'
when name='Intel(R) Xeon(TM) CPU 2.40GHz' then 'Xeon 2.4 GHz'
when name='Intel(R) Xeon(R) CPU 5150 @ 2.66GHz' then 'Xeon 2.6 GHz'
when name='Intel Celeron-Prozessor' then 'Celeron'
when name='Intel(R) Celeron(TM) CPU 1200MHz' then 'Celeron 1.2 GHz'
when name='Intel(R) Celeron(R) CPU 1.70GHz' then 'Celeron 1.7 GHz'
when name='Intel(R) Celeron(R) CPU 2.00GHz' then 'Celeron 2.0 GHz'
when name='Intel(R) Celeron(R) CPU 2.40GHz' then 'Celeron 2.4 GHz'
when name='Intel(R) Celeron(R) CPU 2.53GHz' then 'Celeron 2.5 GHz'
when name='Intel(R) Celeron(R) CPU 2.66GHz' then 'Celeron 2.6 GHz'
when name='Intel(R) Celeron(R) CPU 2.80GHz' then 'Celeron 2.8 GHz'
when name='Intel(R) Pentium(R) M processor 1500MHz' then 'PM 1.5 GHz'
when name='Intel(R) Pentium(R) M processor 1.50GHz' then 'PM 1.5 GHz'
when name='Intel(R) Pentium(R) M processor 1.60GHz' then 'PM 1.6 GHz'
when name='Intel(R) Pentium(R) M processor 1.73GHz' then 'PM 1.7 GHz'
when name='Intel(R) Celeron(R) M CPU 420 @ 1.60GHz' then 'PM 1.6 GHz'
when name='Intel Pentium III-Prozessor' then 'P3'
when name='Intel(R) Pentium(R) III CPU family 1133MHz' then 'P3 1.1 GHz'
when name='Intel Pentium II-Prozessor' then 'P2'
when name='Unbekannter Intel P6-Prozessor' then 'Unbekannter P6'
when name='Unbekannter Intel-Prozessor' then 'Unbekannt'
when name='AMD Sempron(tm) 2400+' then 'Sempron 2400+'
else name end
from WMIProcessor b
where b.client_id = a.client_id
and b.ID = (select max(ID) from WMIProcessor c where c.client_id = a.client_id)
)
</model>

<OS>
(select case
{whenOS}='Windows 2000 Professional{sp4-2195}{dt}' then 'Win2000 SP4 Pro'
{whenOS}='Windows 2000 Professional{sp2-2195}{dt}' then 'Win2000 SP2 Pro'
{whenOS}='Windows 2000 Server{sp4-2195}{dt}' then 'Win2000 Server SP4'
{whenOS}='Windows 2000 Server{sp2-2195}{dt}' then 'Win2000 Server SP2'
{whenOS}='Windows XP Professional{sp2-2600}{dt}' then 'WinXP SP2 Pro'
{whenOS}='Windows XP Professional{sp1-2600}{dt}' then 'WinXP SP1 Pro'
{whenOS}='Windows NT Workstation, Version 4.0{sp6a}{dt}' then 'WinNT SP6a'
{whenOS}='Windows Server 2003 {se}{sp1-3790}{dt}' then 'Server 2003 SP1 Standard'
{whenOS}='Windows Server 2003 {ee}{sp2-3790}{dt}' then 'Server 2003 SP2 Enterprise'
{whenOS}='Windows Server 2003 {ee}{sp1-3790}{dt}' then 'Server 2003 SP1 Enterprise'
else OperatingSystem end from InvComputer b where b.client_id = a.client_id
)
</OS>

<ee>Enterprise Edition, Version 5.2</ee>
<se>Standard Edition, Version 5.2</se>
<whenOS>when OperatingSystem</whenOS>
<dt>, Deutsch (Deutschland)</dt>
<sp4-2195>, Version 5.0, Service Pack 4 (Build 2195)</sp4-2195>
<sp2-2195>, Version 5.0, Service Pack 2 (Build 2195)</sp2-2195>
<sp2-2600>, Version 5.1, Service Pack 2 (Build 2600)</sp2-2600>
<sp1-2600>, Version 5.1, Service Pack 1 (Build 2600)</sp1-2600>
<sp6a>, Service Pack 6a (Build 1381)</sp6a>
<sp1-3790>, Service Pack 1 (Build 3790)</sp1-3790>
<sp2-3790>, Service Pack 2 (Build 3790)</sp2-3790>
</extends>




Seite 6



4 - DyQL-Skriptelemente
6 - Systemvoraussetzungen