Portál AbcLinuxu, 11. května 2025 06:31
sqlplus
s parametrem -S
?
sqlplus --help
. Z toho uvidíš, že -S
je tvůj přítel.
/oracle/u01/product/9.2.0/bin/sqlplus < < SQLEnd 1 > ${TEMPFILE} select * from dual; quit SQLEndda se to udelat tak, abych pred presmerovanim do souboru ${TEMPFILE} mohla pouzit nejaky dalsi prikaz shellu (napr head)?
/oracle/u01/product/9.2.0/bin/sqlplus < < SQLEnd 1 | head > ${TEMPFILE} select * from dual; quit SQLEndNěco o tom je např. ve zdejší učebnici: Standardní vstup a výstup.
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.
/oracle/u01/product/9.2.0/bin/sqlplus < < SQLEnd | head > ${TEMPFILE} # 1 je vynechanatak to bezi
<<
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.
<
pro < a >
pro >. Případně využít tlačítka "<" a ">" hned nad vstupním boxem, kam se píše komentář. Pro příště 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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.