201945 (详)oracle如何批量查询多张表是否存在(bat中批量执行语句)

啊,遇到一个问题。

有600多张表要进行下发,我得先确定这些表在我系统里到底有没有。
偷懒,直接 excel里,补全:select count(*) from t_a;
然后,到plsql中去执行,发现执行到最后的时候,已经提醒:

超出最大可打开的tab数。
而且,问题是,一个一个看,把自己都已经看花了。

灵机一动,放到bat中执行
具体操作如下:
一、

select count(\*) from t_a;
select count(*) from t_b;
exit;

把这几句话写在txt中,然后另存为时,注意,选择 所有文件,文件名命名为: select.sql

二、
接着,在同目录下的txt中编写如下语句:

sqlplus  usr_1/psw_1@link_name @select.sql > lastlog_select.log

然后,另存为,选择 所有文件, 文件名 命名为 select.bat

双击该bat。
即可执行了。

三、
然后在 lastlog_select.log 中,查找: 已选择 或者 -----,就知道有几张表里有数据,也就是说,有几张表存在了。

问题解决~

下面给部分小白稍微解释一下这些语句。

  1. select.sql 中的 exit 不可省,否则 执行完后,黑框框不退出,还要自己退出
  2. select.bat 文件中:
  3. 第一部分 sqlplus usr_1/psw_1@link_name 其实就是用sqlplus 连接到对应的数据库(这个数据库可以是本地的,也可以是远端的,只要 tnsname.ora文件中定义好就可以)
  4. @select.sql 表示去执行 select.sql 文件
  5. > lastlog_select.log 表示将输出的内容写到 lastlog_select.log中去

我们会在此后的文章中详细介绍bat 及 对应 sql 文件的编写
敬请期待~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值