Avatar billede shjdsi Nybegynder
14. januar 2003 - 14:26 Der er 9 kommentarer og
3 løsninger

format af out i sqlplus

Hej!
Jeg har en sql sætning

select archmedium.label, archbatch.batchno from archmedium,archbatch
where archbatch.archmediumid=archmedium.id
and archmedium.label like '%11%'
order by archbatch.batchno;

Den giver følgende output format.

LABEL                            BATCHNO
------------------------------ ----------
DVD_VOLUME11                          626
DVD_VOLUME11                          627
DVD_VOLUME11                          628
DVD_VOLUME11                          629
DVD_VOLUME11                          630
DVD_VOLUME11                          631
DVD_VOLUME11                          632
DVD_VOLUME11                          633
DVD_VOLUME11                          634
DVD_VOLUME11                          635
DVD_VOLUME11                          636

LABEL                            BATCHNO
------------------------------ ----------
DVD_VOLUME11                          637
DVD_VOLUME11                          638
DVD_VOLUME11                          639
DVD_VOLUME11                          640

Det jeg gerne vil er at få outputet til at se nogenlunde således ud når det direktes over i en asci fil.

DVD_VOLUME11/637

og få fjernet kolonne navne m.m.
Det kunne evt. være fedt hvis man fra sql kunne sætte ekstra tekst ind i sit output så det kunne se således ud i tekst filen

xfs1/DVD_VOLUME11/637

Håber spørgsmålet er formuleret forståeligt.
Avatar billede nordclc Nybegynder
14. januar 2003 - 14:33 #1
set pagesize 1000;

select 'xfs1/'||archmedium.label||'/'||archbatch.batchno from archmedium,archbatch
where archbatch.archmediumid=archmedium.id
and archmedium.label like '%11%'
order by archbatch.batchno;

//nordclc
Avatar billede pnielsen Nybegynder
14. januar 2003 - 14:39 #2
set pagesize vil stadig vise den første header og vise en igen efter 1000 linier.

Du skal bruge nok bruge denne istedet:
set heading off
Avatar billede pgroen Nybegynder
14. januar 2003 - 14:41 #3
'set pagesize 1000' vil give en heading i starten, og derefter en for hver 1000 records...

prøv i stedet

SET HEADING OFF
Avatar billede pnielsen Nybegynder
14. januar 2003 - 14:46 #4
pgroen -> 2 sjæle en tanke :-) .. det var da utroligt som vores svar ligner hinanden ..
Avatar billede shjdsi Nybegynder
14. januar 2003 - 14:50 #5
For lige at runde det af :-) det er helt perfekt indtil nu. Som jeg laver det nu, (på unix)
så har jeg et shell script der kalder en fil med sql sætningen.
#!/bin/sh
sqlplus bruger/password @minsql.sql

Kan dette ikke laves i et shell script hvis man sætter noget env op m.m.
Avatar billede pnielsen Nybegynder
14. januar 2003 - 14:57 #6
Øhh.. Det er da et shell script ?? Prøv lige at forklare igen ;-)

Du må ikke connecte sådan, da man for det meste (det kan sløres) kan se den kommando din process er startet med. Dvs. at alle der laver en ps eller en top vil kunne se dit password.
Smid hellere password ind i en variable og brug den istedet. Sørg for at den fil hvori du sætter variablen, kun er læsbar af din egen unixbruger(fx. 611)
Avatar billede shjdsi Nybegynder
14. januar 2003 - 15:00 #7
Jeg mente om jeg kunne have sql sætningen i selve scriptet i stedet for i en seperat fil. :-)
Avatar billede pnielsen Nybegynder
14. januar 2003 - 15:16 #8
ahhhh ;-)

#!/bin/sh
passwd=TEST
sqlplus bruger/$TEST << EOF

select 'xfs1/'||archmedium.label||'/'||archbatch.batchno from archmedium,archbatch
where archbatch.archmediumid=archmedium.id
and archmedium.label like '%11%'
order by archbatch.batchno;
EOF

Kan ikke lige huske hvor din exit og din unset af variablen skal stå... prøv lige selv.. Har lidt travlt ;-)
Avatar billede pnielsen Nybegynder
14. januar 2003 - 15:17 #9
og husk din SET HEADING OFF se'fø'li ;-)
Avatar billede shjdsi Nybegynder
14. januar 2003 - 15:42 #10
Hej Gutter! Tak for nogle særdeles kompetente svar. Selvom dette spørgsmål jo nok ikke hører til de sværeste så er det rart at man kan få hurtigt hjælp. istedet for at sidde og nørkle med det i  timer.

MVH Simon
Avatar billede sluppermanden Nybegynder
30. marts 2003 - 12:23 #11
Man kan jo så undrer sig over hvorfor Simon så ikke har uddelt nogle point.
Avatar billede shjdsi Nybegynder
09. april 2003 - 13:29 #12
DET må i f....... undskylde jeg glemte i sin tid helt i min gen iver efter at komme videre at acceptere spg. Det var altså ikke meningen

hermed gjort
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester