您的位置:首页 > 数据库 > Oracle

shell脚本操作oracle数据库

2016-09-19 18:02 489 查看
最近由于工作原因需要用shell操作oracle就写了一个脚本

该脚本共有两个函数

1,db_query   主要是查询数据库(因为要处理查询厚的结果).

2,db_execute 主要是进行增,删,该操作.

#!/bin/bash

function db_query(){

    SQL=$1

    NUMPERLINE=$2

    #DBNAME=

    DBNMAE=`

    sqlplus -s /nolog <<EOF

    set echo on feedback off heading off underline off pagesize 0 verify off trimspool on trimout on;

    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 <<EOF

    set echo on feedback off heading off underline off pagesize 0 verify off trimspool on trimout on;

    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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: