Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Skonfiguruj SQL*Plus, aby zwracał tylko dane

Istnieje kilka różnych podejść w tym wątku AskTom na zwracanie wartości z SQL*Plus do skryptu powłoki .

Jednym z powszechnych podejść jest wybranie stałego tokena oprócz wartości, którą chcesz zwrócić (w przykładzie Toma jest to ciąg „KEEP”), a następnie użycie sed (lub ulubionego parsera wiersza poleceń) do wyodrębnienia danych, które chcesz jesteś zainteresowany

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

Inne podejścia, takie jak podejścia, które pozwalają odczytaj wiele wierszy wyjścia są również omawiane w tym wątku.

Jeśli nie chcesz, aby nagłówek był drukowany, powinieneś określić

set head off

w skrypcie SQL*Plus — nie jestem pewien, dlaczego jawnie ustawiasz nagłówek w skrypcie, jeśli nie chcesz nagłówka... Czy chcesz zachować część nagłówka?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rekordy wstawione do mojej tabeli przez klienta SQL nie wyświetlają się, gdy są używane w programie jdbc

  2. funkcja agregująca Oracle sql z wartościami domyślnymi

  3. Jak rozwiązać ORA-02014:nie można wybrać FOR UPDATE z widoku za pomocą DISTINCT, GROUP BY

  4. Tabele zewnętrzne Oracle

  5. Nie znaleziono słowa kluczowego FROM w oczekiwanym miejscu (Oracle SQL)