sql >> Databasteknik >  >> RDS >> Oracle

Konfigurera SQL*Plus för att returnera inget annat än data

Det finns några olika tillvägagångssätt i den här askTom-tråden på returerar värden från SQL*Plus till ett skalskript .

Ett vanligt tillvägagångssätt är att välja en konstant token utöver värdet som du vill returnera (i Toms exempel, det vill säga strängen "KEEP") och sedan använda sed (eller din favoritkommandoradsparser) för att extrahera data du är faktiskt intresserad av

#!/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

Andra tillvägagångssätt, som tillvägagångssätt som låter dig läs flera utdatarader diskuteras också i den tråden.

Om du inte vill att rubriken ska skrivas ut bör du ange

set head off

i ditt SQL*Plus-skript-- Jag är inte säker på varför du uttryckligen ställer in rubriken på i skriptet om du inte vill ha rubriken... Vill du behålla en del av rubriken?



  1. Återställ PostgreSQL-databas med java

  2. Möjlig injektion från datumsträng Välj fråga

  3. Hur kan jag skriva SQL för en tabell som har samma namn som ett skyddat nyckelord i MySql?

  4. Hur lagrar jag ett värde från en sql-fråga i en variabel?