Oracle
 sql >> база данни >  >> RDS >> Oracle

Конфигурирайте SQL*Plus да не връща нищо освен данни

Има няколко различни подхода в тази тема на askTom на връщане на стойности от SQL*Plus към shell скрипт .

Един често срещан подход е да изберете постоянен токен в допълнение към стойността, която искате да върнете (в примера на Том, това е низът "KEEP") и след това да използвате sed (или любимия си анализатор на командния ред), за да извлечете данните, които всъщност се интересувате от

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

Други подходи, като например подходи, които ви позволяват да прочетете няколко реда изход също се обсъждат в тази тема.

Ако не искате заглавката да бъде отпечатана, трябва да укажете

set head off

във вашия SQL*Plus скрипт-- Не съм сигурен защо изрично задавате заглавката в скрипта, ако не искате заглавката... Искате ли да запазите част от заглавката?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cloud Native и DevSecOps в мащаб с Capgemini Agile Innovation Platform и Oracle Cloud

  2. Има ли начин за подобряване на MERGE заявка?

  3. Как да архивирате файл в PL/SQL?

  4. Как да декларирате и покажете променлива в Oracle

  5. Може ли ограничение за проверка да се свърже с друга таблица? Оракул