1、测试用例
#!/bin/sh #日期变量可设成传入参数 #exec_date=`date +"%Y%m%d"`
# -S 设置无提示模式, 该模式隐藏命令的 SQL*Plus 标帜, 提示和回显的显示 sqlplus -S "scott/Oracle" <<! >/dev/null declare --声明变量 i_current_date date; v_output varchar2(20):='OK'; v_descmg varchar2(20):='OK'; begin --日期赋值 i_current_date :=to_date('2014-05-18','yyyy-mm-dd'); --执行过程 pkg_sql_PRoc.remove_data(i_acctdt=> i_current_date, o_output => v_output, o_descmg => v_descmg); end; / exit; !
2、将变量进程参数化
#!/bin/sh #日期变量可设成传入参数或者使用如下方式 exec_date=`date +"%Y%m%d"` #数据库用户变量也可以传入 dbuser=scott dbpasswd=oracle #过程名称初始化 proc_name="pkg_sql_proc.remove_data" #sqlplus声明 sql_stmt=`sqlplus -S "$dbuser/$dbpasswd" <<! --修改session日期格式 alter session set nls_date_format='yyyy-mm-dd'; declare v_output varchar2(20):='OK'; v_descmg varchar2(20):='OK'; begin --日期转换 i_current_date :=to_date($exec_date,'yyyymmdd'); $proc_name(i_current_date, v_output, v_descmg); end; / !`
新闻热点
疑难解答