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传递变量的介绍,望你能有所收获。
【编辑推荐】