Oracle 从sql*plus向shell传递变量

本文提供了两个使用 Oracle 数据库的 SQL*Plus 脚本示例。第一个脚本展示了如何通过 SQL*Plus 获取当前日期并显示出来;第二个脚本则演示了如何无声运行 SQL*Plus 命令并获取 v$log_history 中的最大序列号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方法:
[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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值