René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback - Follow @renenyffenegger

Connecting SQL*PLUS with a shell script

Here's a piece that allows to execute select statements on an Oracle database from a shell script. It consists of two parts: a shell function (read_sql_stmt) and the part that actually uses the function.
#!/bin/bash
read_sql_stmt() {
 typeset stmt=1ドル
 typeset login=2ドル
 echo "
 set feedback off verify off heading off pagesize 0
 $stmt;
 exit 
 " | sqlplus -s $login
}
The second part: read_sql_stmt is executed with an SQL statement and a login, its output is piped into an ordinary shell while loop:
read_sql_stmt "select username, user_id from dba_users" "system/system_pw" | while read u i 
do
 echo "user $u has userid $i"
done 

AltStyle によって変換されたページ (->オリジナル) /