任何人都可以告诉我如何执行一个简单的oracle存储过程,在shell脚本中有参数。这意味着它应该将一个值返回到unix环境。
答案 0 :(得分:0)
我假设您要使用SQLPLUS启动脚本。这个答案解释了如何将out参数的值赋值给SQLPLUS中的绑定变量。
Call stored procedure from sqlplus
您可以使用此值退出sqlplus并在调用脚本中使用该值。
dat <- read.table('tt.txt', header=TRUE)
date <- seq(as.Date('1998-05-01'), as.Date('2012-10-31'), by='day')
dat2 <- cbind(read.table(text=format(date, '%Y %j'),
col.names=c('year', 'jday')),MAX_TEMP=dat[1])
但这通常仅限于有限范围内的数值。
答案 1 :(得分:0)
有很多方法,但我倾向于使用的方法如下所示。
sqlplus脚本 the_sql_script.sq l
var ret varchar2(2000)
exec the_procedure ( the_out_param => :ret );
set pages 0 head off lines 200 trimspool on
spool sqlplus.return
select 'RETURN_VALUE=' || :ret FROM dual;
spool off
quit
在shell中:
sqlplus / @ the_sql_script.sql
. ./sqlplus.return
echo $RETURN_VALUE