免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2205 | 回复: 13
打印 上一主题 下一主题

当文件存在执行连接数据库,执行存储过程,达人帮忙。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-23 10:19 |只看该作者 |倒序浏览
test -e  bak05021.sh   (当bak05021.sh 存在)
echo $?
if  [ $? -eq "0" ]
then
echo "ok"  (想把这个echo "ok" 换成一个连接数据库,执行存储过程)
fi

存储过程如下 :
sqlplus oss_sa_xn/osssa123xn <<OVER
var a varchar2(2000);
var b number;
execute p_vip(:a,:b);
commit;
print a;
exit;

有点困惑。。

论坛徽章:
0
2 [报告]
发表于 2005-03-23 10:56 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

怎么困惑?您的here文档没有结束符"OVER"

论坛徽章:
0
3 [报告]
发表于 2005-03-23 11:03 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

不好意思,是我疏忽了。
我的意思是把脚本改成这样。但总是出问题,好象不可行。
test -e  bak05021.sh
echo $?
if  [ $? -eq "0" ]
then
sqlplus oss_sa_xn/osssa123xn <<OVER
var a varchar2(2000);
var b number;
execute p_vip(:a,:b);
commit;
print a;
exit;
fi

论坛徽章:
0
4 [报告]
发表于 2005-03-23 14:19 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

这句应该这样写
  1. if  [ $? -eq 0 ]
复制代码

或者干脆
  1. if [ -e  bak05021.sh ]
复制代码
也可
另外,fi上面还缺OVER啊

论坛徽章:
0
5 [报告]
发表于 2005-03-23 14:53 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

谢谢,一梦如是
if [ -e  bak05021.sh ]
这样写是简洁写。

我不懂,fi上面还缺OVER是什么意思?......

我就是想当这样文件存在的时候才 执行储存过程..
我的困惑是
如果是想这样 echo "ok" 回显个 ,很容易就搞定了。
可是有多行的情况,而且是要连接数据库的改怎么写?

谢谢帮忙!

论坛徽章:
0
6 [报告]
发表于 2005-03-23 15:09 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

sqlplus <<EOF
sql
...
EOF
这是here文档写法,没下面的EOF格式是错的

论坛徽章:
0
7 [报告]
发表于 2005-03-23 15:34 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

EOF我没有用 也是可以执行的。
我现在只是想加个条件判断(当文件存在执行存储过程)~~~

谢谢关注

论坛徽章:
0
8 [报告]
发表于 2005-03-23 15:45 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

$?是上一个操作的返回值啊,你想判断文件存在不存在还是想判断echo $?这个命令成功不成功?

论坛徽章:
0
9 [报告]
发表于 2005-03-23 16:04 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。

[quote]原帖由 "大红机器"]$?是上一个操作的返回值啊,你想判断文件存在不存在还是想判断echo $?这个命令成功不成功?[/quote 发表:


我当时想的是$? 得到上一个操作的返回植 ,如果返回值是0 ,那就是我上面的文件存在了。如果不是,那就没存在。

等于绕了个弯子, 还是这样写 比较清楚。。。if [ -e  bak05021.sh ]

论坛徽章:
0
10 [报告]
发表于 2005-03-24 10:30 |只看该作者

当文件存在执行连接数据库,执行存储过程,达人帮忙。


  1. test -e  bak05021.sh
  2. echo $?
  3. if  [ $? -eq "0" ]
复制代码

这样肯定不行啊,if 后面的永远成立阿。和

  1. if [ -e bak05021.sh ]
复制代码

完全不一样啊

你说不行,到底是怎么不行?
而且<<后面的结束标志也没有加
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP