Portál AbcLinuxu, 11. května 2025 06:31

Dotaz: sqlplus z *.sh

30.7.2007 16:39 Terka | skóre: 13
sqlplus z *.sh
Přečteno: 1032×
Odpovědět | Admin
pri spusteni sql query ze shell skriptu, sqlplus ktere volam, vypise jeste celou radu dalsich informaci, napr.: SQL*Plus: Release 9.2.0.5.0 - Production on Mon Jul 30 14:37:29 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to: Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.5.0 - Production

DATA DATA DATA .. .. .. 12 rows selected ...

jak ziskat jen samotna data?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.7.2007 16:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkoušel jste spouštět sqlplus s parametrem -S ?
30.7.2007 17:17 s0 | skóre: 32 | blog: nejchytřejší kecy | prágl
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Odpovědět | | Sbalit | Link | Blokovat | Admin
sqlplus --help. Z toho uvidíš, že -S je tvůj přítel.
Kuolema Kaikille (Paitsi Meille).
31.7.2007 16:05 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Diky a ja to bastlila grepem. Jeste jednu otazku s tim souvisejici. Pouzivam konstrukci typu:
/oracle/u01/product/9.2.0/bin/sqlplus  < < SQLEnd 1 > ${TEMPFILE}
select *
from dual;
quit
SQLEnd
da se to udelat tak, abych pred presmerovanim do souboru ${TEMPFILE} mohla pouzit nejaky dalsi prikaz shellu (napr head)?
31.7.2007 16:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: sqlplus z *.sh
/oracle/u01/product/9.2.0/bin/sqlplus  < < SQLEnd 1 | head > ${TEMPFILE}
select *
from dual;
quit
SQLEnd
Něco o tom je např. ve zdejší učebnici: Standardní vstup a výstup.
31.7.2007 17:00 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Tak je to logicke, zkousela jsem to, ale nejak mi to neslo, zkusim jeste jednou. A slo by to dat ne na 1. radek, ale na konec za druhy sqlend? Diky!
31.7.2007 18:45 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Testoval jsem to v zsh, ale nevidím důvod, proč by to nemělo fungovat jinde. Dát to až za konec vstupu podle mne není možné – aby se ukončil heredocument, musí být na řádku přesně jenom ten text uvedený za <<, za něj už žádné další příkazy napsat nemůžete (jinak se to bude brát jako součást vstupu a heredocument se neukončí. A napsat to až za tento řádek taky nemůžete, protože s koncem heredocument se ukončí i příkaz a případný další vstup je už nový příkaz.
1.8.2007 10:26 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Diky moc, jde mi to. T.
8.8.2007 11:44 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
tak mi to opravdu nejde ale pokud dam
/oracle/u01/product/9.2.0/bin/sqlplus  < < SQLEnd  | head > ${TEMPFILE}
#                                                 1 je vynechana
tak to bezi
8.8.2007 14:35 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Ta jednička tam nepatří, nevím, kde se tam vzala… (V mém komentáři zůstala kvůli copy-and-paste, přehlédl jsem ji.) Za << se dává token, který pak musíte napsat na samostatném řádku jako ukončení vstupu. Pokud by součástí tokenu měla být mezera, asi by pomohlo dát token do uvozovek, ale uniká mi smysl takového počínání. Jinak << se normálně píše bez mezer, překvapuje mne, že to shell s mezerami vůbec vezme.
8.8.2007 15:09 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
s mezerami to tam mam proto, ze jinak se mi to nepodarilo napsat do tohoto fora.
8.8.2007 15:43 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Je potřeba použít HTML entity &lt; pro < a &gt; pro >. Případně využít tlačítka "<" a ">" hned nad vstupním boxem, kam se píše komentář. Pro příště :-)
8.8.2007 14:21 ivan | skóre: 17 | blog: ivan
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hmm nechtel bych byt sarkasticky, ale co takhle si neco o sqlplus precist? Ono toho umi opravdu hodne.

sqlplus -s /nolog @muj_sqlscript.sql

muj_sqlscript.sql: connect user/heslo@dbname set line 20000 set pagesize 800000 set feedback off

spool vysledek.txt select .....

exit

Viz treba: http://www.ss64.com/orasyntax/plus_set.html
8.8.2007 15:52 ivan | skóre: 17 | blog: ivan
Rozbalit Rozbalit vše Re: sqlplus z *.sh
Teda vlastne:
sqlplus -s /nolog @muj_sqlscript.sql

muj_sqlscript.sql: 
connect user/heslo@dbname 
set line 20000 
set pagesize 800000 
set feedback off
spool vysledek.txt 

select .....

exit 
21.11.2007 14:48 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
jeste jedna drobnost, vzdy mi to napise na zacatek 1 prazdny radek-da se to nejak v sqlplus odstranit?
21.11.2007 16:06 outsider
Rozbalit Rozbalit vše Re: sqlplus z *.sh
set newpage none
21.11.2007 16:43 Terka | skóre: 13
Rozbalit Rozbalit vše Re: sqlplus z *.sh
velike diky!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.