Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Check Oracle installed products using one command Oracle
  • Proc Compilation Oracle
  • Rename Oracle Instance Name Oracle
  • How to stop OCSSD Daemon Oracle
  • Kernel Parameter setting explaination for Processes Parameter Linux/Unix
  • get_vmstat_linux Oracle
  • SCRIPT TO LIST RECURSIVE DEPENDENCY BETWEEN OBJECTS UTLDTREE.sql Oracle
  • Oracle 10g Installation/Applying Patches Tips Oracle
  • How to change hostname in Linux Linux/Unix
  • ENQ: KO – FAST OBJECT CHECKPOINT tips Oracle
  • crtgr.sql /* For creating trigger from data dictionary */ Oracle
  • Test Case for Inserting Multiple (2.3 Million rows in 26 Seconds) Oracle
  • Checking SQL Server Version SQL Server
  • Windows based Command line mailing program like mailx (Sednmail for windows) PHP/MYSQL/Wordpress
  • AWR license Oracle

How does one SELECT a value from a table into a Unix variable? From SQL to Shell

Posted on 23-Aug-2005 By Admin No Comments on How does one SELECT a value from a table into a Unix variable? From SQL to Shell

One can select a value from a database column directly into a Unix environment variable. Look at the following shell script examples:

#!/bin/sh

VALUE=`sqlplus -silent user/password@instance < set pagesize 0 feedback off verify off heading off echo off

select max(c1) from t1;

exit;

END`

if [ -z “$VALUE” ]; then

echo “No rows returned from database”

exit 0

else

echo $VALUE

fi

Second example, using the SQL*Plus EXIT status code (can only return integer values smaller than 256):

#!/bin/ksh

sqlplus -s >junk1 /nolog < connect user/password@instance

column num_rows new_value num_rows format 9999

select count(*) num_rows

from table_name;

exit num_rows

EOF

echo “Number of rows are: $?”

Yet another example, only this time we will read multiple values from SQL*Plus into shell variables.

sqlplus -s /nolog |& # Open a pipe to SQL*Plus

print -p — ‘connect user/password@instance’

print -p — ‘set feed off pause off pages 0 head off veri off line 500’

print -p — ‘set term off time off’

print -p — “set sqlprompt ””

print -p — “select sysdate from dual;”

read -p SYSDATE

print -p — “select user from dual;”

read -p USER

print -p — “select global_name from global_name;”

read -p GLOBAL_NAME

print -p — exit

echo SYSDATE: $SYSDATE

echo USER: $USER

echo GLOBAL_NAME: $GLOBAL_NAME

Linux/Unix, shell

Post navigation

Previous Post: Good Link from metalink 1
Next Post: How does one overcome the Unix 2 Gig file limit?

Related Posts

  • Useful Solaris Commands on 28-SEP-2005 Linux/Unix
  • How to find Unix server conguraiton including Server Model number and underlying disk sub-system ( On Solaris) Linux/Unix
  • kill all processes from specific user in solaris. Linux/Unix
  • move_arch_files.ksh Linux/Unix
  • oracle 10g on linux Linux/Unix
  • setting prompt display with .profile Linux/Unix

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (397)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (345)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • track_autoupgrade_copy_progress.sql01-Apr-2026
  • refre.sql for multitenant01-Apr-2026
  • prepfiles.sh for step by step generating pending statistics files10-Mar-2026
  • tracksqltime.sql05-Mar-2026
  • Complete Git Tutorial for Beginners25-Dec-2025
  • Postgres DB user and OS user.25-Dec-2025
  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • ORA-00064: object is too large to allocate on this O/S during startup Oracle
  • currwait.sql Oracle
  • Oracle 11g RAC on OEL 5 and Vmware 2 Oracle
  • checking redhat linux version Linux/Unix
  • logminer and my_lbu Oracle
  • Difference between SYNC and AFFIRM Oracle
  • SQL_PLAN.sql for checking real execution plan Oracle
  • Default User Profile Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme