最近由于工作原因需要用shell操作oracle就写了一个脚本
该脚本共有两个函数
1,db_query 主要是查询数据库(因为要处理查询厚的结果).
2,db_execute 主要是进行增,删,该操作.
#!/bin/bash
function db_query(){
SQL=$1
NUMPERLINE=$2
#DBNAME=
DBNMAE=`
sqlplus -s /nolog
conn SCOTT/wq123456;
$SQL
exit;
`
FIN=`echo $DBNMAE|sed ‘s/ /,/g’`
number=`echo $FIN|awk -F “,” ‘{print NF}’`
i=1
newline=
while [[ $i -le $number ]]
do
re=$((i%$NUMPERLINE))
if [[ re -eq 0 ]] && [[ $i -ne $number ]]
then
newline=”$newline `echo $FIN|awk -F ‘,’ ‘{print $’$i’}’`\n”
elif [[ re -eq 1 ]]
then
newline=”$newline`echo $FIN|awk -F ‘,’ ‘{print $’$i’}’`”
else
newline=”$newline `echo $FIN|awk -F ‘,’ ‘{print $’$i’}’`”
fi
let i=$i+1
done
echo -e $newline
#echo $newline
#return $newline
}
function db_execute(){
SQL=$1
DBNMAE=`
sqlplus -s /nolog
conn SCOTT/wq123456;
$SQL
exit;
`
}
#db_query “select * from wqq;” 4|while read line
#do
# id=`echo $line | awk ‘{print $1}’`
# name=`echo $line | awk ‘{print $2}’`
# age=`echo $line | awk ‘{print $3}’`
# score=`echo $line|awk ‘{print $4}’`
# echo “id:$id”
# echo “name:$name”
# echo “age:$age”
# echo “score:$score”
#done
#db_query “select * from wqq” 4
#db_execute “insert into wqq values (41,’haha’,90,99);”
db_execute $1