中易网

linux创建的调用oracle的shell

答案:3  悬赏:0  
解决时间 2021-11-25 12:25
请大神帮忙看下 是不是脚本有问题我想调用orcle语句把清单导到txt
#!/bin/sh
sqlplus -s rpt/123qweASD@gxzydb1<<eof
today='date+%Y%M%D'
spool exp_scn_hours%{today}.txt
set trimspool on
set linesize 8000
set pagesize 50000
set heading off
set term off
set feedback off
set sqlblankline off
select dat||'$'||
indicator_hours||'$'||
scn||'%'||
int_scn from tb_indicator_hours t order by t.dat desc;
spool off
exit
eof
最佳答案
sqlplus -s username/password@database @1.sql > 1.txt
shell设置date
today=`date "+%Y%m%d"`
sqlplus -s username/password@database @1.sql > $today.txt
其实,在sqlplus中的set column 可以设置 时间
set sysdate as today 类似这样,我没有环境,具体语法忘记了。
全部回答
本来写了不少了,嘛的,baidu又让我死机了,烦死了。 那就少说一点,见谅啊。 (1)today='date+%Y%M%D'要在sqlplus的上面,这个是linux命令,数据库不认识。不要用单引号,而应该用反引号。 (2)各个set设定在spool的外面,而且感觉少了一个set echo off;而且各个set的后面也没有分号结束。(我忘了要不要写分号了,不过写习惯了)。 (3)我没见过%{today}这样调参数的,我一般用美圆符号。 (4)美圆符号和百分号都属于特殊符号(至少在linux中是),如果不是必要不要在语句中假如类似符号,这里也有可能是语句中该符号导致的,个人建议,可以先就输出语句,不输出内容,看一下,看看语句是不是你要的语句。 现在能看到的暂时这么多,其他的只能你自己慢慢试验了。
被锁定的话,你可以是做不了的。等待也是没用的啊,只要被锁了,永远你也做不了。除非解锁了。应该先去检查为何被锁吧。 调用存储过程,返回结果可以有,得看你的存储过程怎么写了,可以在存储过程里增加返回值的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
牙克石市公安局新工派出所地址在什么地方,想
小麦草榨汁有什么好处?
京瓷2450复印机好用吗?
522平方厘米变成多少平方米
祸殃的意思是什么啊?请解释下!
在一个圆形钢板画出它的半径,怎么画
怎样让白平衡与ISO的配合更协调?
怎么辩别真假波尿酸?
牙克石市伊东派出所地址有知道的么?有点事想
我家每个月都往银行卡交房贷可是银行却说没有
惇史的意思是什么啊?请解释下!
如何申请去美国打工?怎样合法?
库都尔森林公安局原林派出所地址在什么地方,
32寸显示器颜色问题
“祝新婚快乐”用英语怎么说?
推荐资讯
润肤露是应该拍打在脸上还是直接擦在脸上?
冰箱冷藏的温度是多少度?
led灯能使用多少年
眼筋的意思是什么啊?请解释下!
国家电网(环峰路)地址在哪,我要去那里办事
你好,请问签订了融资合同可以反悔吗?
新泉派出所(市上村)地址有知道的么?有点事想
网上买的裤子太透怎么办
中阳里派出所(西城南路)地址在什么地方,想过
跃厉的意思是什么啊?请解释下!
funkopop正版大概多少
java正则过滤字符串穿中的数字开头字符
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?