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

Oracle数据库中从sql*plus向shell进行传递变量

2012-01-16 17:52 375 查看
Oracle数据库中如何从sql*plus向shell进行传递变量?在实际的操作中很多的人都遇到这样的相关难题,即,不能使sqlplus向shell传递变量,以下我们就来介绍一个实例脚本来进行折中处理。
[Oracle@jumper Oracle]$ cat a.sh
sqlplus -S "/ as sysdba" << !
set heading off
col today noprint
column today new_val dat
select to_char( sysdate, 'yyyy-mm-dd') today from dual;
host echo 'today is ' &dat
exit;
exit;
!
[Oracle@jumper Oracle]$ ./a.sh
today is 2005-04-11
[Oracle@jumper Oracle]$


下面我们再来介绍另一个实例方法:
[Oracle@jumper Oracle]$ more a.sh
#!/bin/ksh
VALUE=`sqlplus -silent "/ as sysdba" < < END
set pagesize 0 feedback off verify off heading off echo off
select max(sequence#) from v\\\$log_history;
exit;
END`
if [ -z "$VALUE" ]; then
echo "No rows returned from database"
exit 0
else
echo "Max Sequence Number: $VALUE"
fi
[Oracle@jumper Oracle]$ ./a.sh
Max Sequence Number: 17


以上的相关内容就是对Oracle数据库中怎样从sql*plus向shell传递变量的介绍,望你能有所收获。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: