1、測(cè)試用例
#!/bin/sh #日期變量可設(shè)成傳入?yún)?shù) #exec_date=`date +"%Y%m%d"`
# -S 設(shè)置無(wú)提示模式, 該模式隱藏命令的 SQL*Plus 標(biāo)幟, 提示和回顯的顯示 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'); --執(zhí)行過(guò)程 pkg_sql_PRoc.remove_data(i_acctdt=> i_current_date, o_output => v_output, o_descmg => v_descmg); end; / exit; !
2、將變量進(jìn)程參數(shù)化
#!/bin/sh #日期變量可設(shè)成傳入?yún)?shù)或者使用如下方式 exec_date=`date +"%Y%m%d"` #數(shù)據(jù)庫(kù)用戶變量也可以傳入 dbuser=scott dbpasswd=oracle #過(guò)程名稱初始化 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 --日期轉(zhuǎn)換 i_current_date :=to_date($exec_date,'yyyymmdd'); $proc_name(i_current_date, v_output, v_descmg); end; / !`
新聞熱點(diǎn)
疑難解答
圖片精選