patricia179
Grünschnabel
Hi, habe folgendes Problem. Ich habe ein PL/SQL-Skript kann es von einem Java-Programm aus nicht ausführen, das geht leider nur im SQL*Worksheet von Oracle.
Meine Datenbank läuft auf ORacle 9i. Ich habe probiert das PL/SQL-Skript in ein reines SQL-Skript umzuwandeln, aber jetzt weiss ich nicht mehr weiter.
Kann mir jemand helfen?
Select a.ow owner,
min(a.seg),
decode(count(*),1,'(none)',2,' ','+') segment,
to_char(sum(a.segb)/decode(count(*),1,1,count(*)-1),'999,999,999')"SEG BYTES",
to_char(sum(a.owb),'999,999,999') " OWNER BYTES",
to_char(sum(a.segb)/decode(count(*),1,1,count(*)-1)/decode(sum(a.owb),0,1, sum(a.owb))*100, '990.99')"PCT"
from (
select owner ow,
segment_name seg,
sum(bytes) segb,
000000000000 owb
from dba_segments d
where owner not in ('SYS', 'SYSTEM', 'SCOTT')
and segment_name not like 'GUBBHLP%'
group by owner,
segment_name
having sum(bytes) = (select max(sum(bytes))
from dba_segments c
where c.owner = d.owner
and segment_name not like 'GUBBHLP%'
group by c.segment_name)
union all
select owner,
'~',
0,
sum(bytes)
from dba_segments
where owner not in ('SYS', 'SYSTEM', 'SCOTT')
group by owner) a
group by a.ow;
Meine Datenbank läuft auf ORacle 9i. Ich habe probiert das PL/SQL-Skript in ein reines SQL-Skript umzuwandeln, aber jetzt weiss ich nicht mehr weiter.
Kann mir jemand helfen?
Select a.ow owner,
min(a.seg),
decode(count(*),1,'(none)',2,' ','+') segment,
to_char(sum(a.segb)/decode(count(*),1,1,count(*)-1),'999,999,999')"SEG BYTES",
to_char(sum(a.owb),'999,999,999') " OWNER BYTES",
to_char(sum(a.segb)/decode(count(*),1,1,count(*)-1)/decode(sum(a.owb),0,1, sum(a.owb))*100, '990.99')"PCT"
from (
select owner ow,
segment_name seg,
sum(bytes) segb,
000000000000 owb
from dba_segments d
where owner not in ('SYS', 'SYSTEM', 'SCOTT')
and segment_name not like 'GUBBHLP%'
group by owner,
segment_name
having sum(bytes) = (select max(sum(bytes))
from dba_segments c
where c.owner = d.owner
and segment_name not like 'GUBBHLP%'
group by c.segment_name)
union all
select owner,
'~',
0,
sum(bytes)
from dba_segments
where owner not in ('SYS', 'SYSTEM', 'SCOTT')
group by owner) a
group by a.ow;