sql >> Databáze >  >> RDS >> Oracle

Nakonfigurujte SQL*Plus tak, aby nevracel nic než data

V tomto vláknu askTom na vracení hodnot z SQL*Plus do skriptu shell .

Jedním z běžných přístupů je vybrat konstantní token kromě hodnoty, kterou chcete vrátit (v Tomově příkladu je to řetězec „KEEP“), a poté pomocí sed (nebo vašeho oblíbeného analyzátoru příkazového řádku) extrahovat data, která 'skutečně mě zajímá

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

Jiné přístupy, jako jsou přístupy, které vám umožňují číst více řádků výstupu jsou také diskutovány v tomto vlákně.

Pokud nechcete, aby se záhlaví tisklo, měli byste zadat

set head off

ve vašem skriptu SQL*Plus-- Nejsem si jistý, proč ve skriptu explicitně nastavujete záhlaví, pokud záhlaví nechcete... Chcete si ponechat nějakou část záhlaví?



  1. Vnořené transakce v postgresql 8.2?

  2. 12c Zastaralé funkce

  3. Mezipaměť:Co to je a jak to ovlivňuje výkon databáze?

  4. Příliš komplikované zpracování BLOB jdbc Oracle