shell脚本中sql语句得到一个值,赋值给变量出错
get_msisdn(){CMONTH=`date+%m`day=`date+%Y%m%d`echo$dayecho"selectgoodsnamefromgoods_i...
get_msisdn()
{
CMONTH=`date +%m`
day=`date +%Y%m%d`
echo $day
echo "select goodsname from goods_info_08 where goodsname like '%SVC_20100816351%';" > /idep/test/query.sql
sqlplus idep_admin@idepdb/sxdb9876 @/idep/test/query.sql<<!
/
exit
!
}
### main ####
CHECK_DIR=/idep/test
get_msisdn
结果:
GOODSNAME
--------------------------------------------------------------------------------
SVC_20100816351
SVC_20100816351
SVC_20100816351
SVC_20100816351
SQL>
GOODSNAME
--------------------------------------------------------------------------------
SVC_20100816351
SVC_20100816351
SVC_20100816351
SVC_20100816351
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
为什么会出现2次结果?
如何把输出的结果赋值给一个变量? 展开
{
CMONTH=`date +%m`
day=`date +%Y%m%d`
echo $day
echo "select goodsname from goods_info_08 where goodsname like '%SVC_20100816351%';" > /idep/test/query.sql
sqlplus idep_admin@idepdb/sxdb9876 @/idep/test/query.sql<<!
/
exit
!
}
### main ####
CHECK_DIR=/idep/test
get_msisdn
结果:
GOODSNAME
--------------------------------------------------------------------------------
SVC_20100816351
SVC_20100816351
SVC_20100816351
SVC_20100816351
SQL>
GOODSNAME
--------------------------------------------------------------------------------
SVC_20100816351
SVC_20100816351
SVC_20100816351
SVC_20100816351
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
为什么会出现2次结果?
如何把输出的结果赋值给一个变量? 展开
1个回答
展开全部
我不知道你的语句为什么会产生重复的结果,最好检查一下你的代码。关于将语句输出赋值到变量的问题请你参照一下我测试的这份代码
get_msisdn()
{
echo -e "
set feedback off;\n
set pagesize 0;\n
spool result.log;\n
select prono from pl.tbassignp where model = 'ZFN';\n
spool off;\n
exit;
" > query.sql
sqlplus pl/oracle@mydb @query.sql|head -0
result=`cat result.log`
echo ${result}
exit
}
get_msisdn
它首先设置输出的格式如set feedback off; set pagesize 0;,然后将语句的输出指定到文件result.log,最后使用cat命令将结果显示并赋值给变量result。
get_msisdn()
{
echo -e "
set feedback off;\n
set pagesize 0;\n
spool result.log;\n
select prono from pl.tbassignp where model = 'ZFN';\n
spool off;\n
exit;
" > query.sql
sqlplus pl/oracle@mydb @query.sql|head -0
result=`cat result.log`
echo ${result}
exit
}
get_msisdn
它首先设置输出的格式如set feedback off; set pagesize 0;,然后将语句的输出指定到文件result.log,最后使用cat命令将结果显示并赋值给变量result。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |