sql >> Database >  >> RDS >> Oracle

Configureer SQL*Plus om niets anders dan gegevens terug te geven

Er zijn een paar verschillende benaderingen in deze askTom-thread op waarden teruggeven van SQL*Plus naar een shellscript .

Een veelgebruikte benadering is om een ​​constant token te selecteren naast de waarde die u wilt retourneren (in het voorbeeld van Tom is dat de tekenreeks "KEEP") en vervolgens sed (of uw favoriete opdrachtregelparser) te gebruiken om de gegevens te extraheren die u bent eigenlijk geïnteresseerd in

#!/bin/ksh

x=`sqlplus / <<endl | grep KEEP | sed 's/KEEP//;s/[   ]//g'
select 'KEEP' , max(sal) from emp;
exit
endl`

echo the answer is $x

Andere benaderingen, zoals benaderingen waarmee u lees meerdere regels uitvoer worden in dat draadje ook besproken.

Als u niet wilt dat de kop wordt afgedrukt, moet u specificeren

set head off

in uw SQL*Plus-script-- Ik weet niet zeker waarom u de koptekst expliciet instelt in het script als u de koptekst niet wilt... Wilt u een deel van de koptekst behouden?



  1. Hoe te groeperen op deze door komma's gescheiden gegevens

  2. NULL emements verloren bij het casten van het resultaat van unnest()

  3. Een SQL Plus-script uitvoeren in PowerShell

  4. Controleer of rij bestaat