用bat批量处理sql文件

qiaobianhongye 2018-07-10 06:25:05
现在比如有两个sql文件,需要写一个bat文件批量执行,请问在bat文件如何写执行语句?

a.sql文件内容:
create table abc(
id integer,
code varchar2(100));

b.sql文件内容
insert into abc values (1,'101');
...全文
383 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiaobianhongye 2018-07-12
  • 打赏
  • 举报
回复
引用 4 楼 wmxcn2000 的回复:
-- 分开执行
sqlplus hii/hii@200.100.100.1/test @E:\20180709\a.txt
sqlplus hii/hii@200.100.100.1/test @E:\20180709\b.txt


分开执行只能执行第一条,其他都没有执行
  • 打赏
  • 举报
回复
引用 7 楼 u012280886 的回复:
[quote=引用 6 楼 baidu_36457652 的回复:]
@后面的是sql文件 前面的sqlplus 这一些 要写都 bat里面

在bat里面写sqlplus hii/hii@200.100.100.1/test @E:\20180709\c.sql
然后在同目录下创建c.sql文件
spool
@@a.txt
@@b.txt
spool off;
提示执行成功,但是dos窗口有提示当前未假脱机,这个有问题吗?[/quote]
在bat最后加 exit
qiaobianhongye 2018-07-11
  • 打赏
  • 举报
回复
引用 6 楼 baidu_36457652 的回复:
@后面的是sql文件 前面的sqlplus 这一些 要写都 bat里面

在bat里面写sqlplus hii/hii@200.100.100.1/test @E:\20180709\c.sql
然后在同目录下创建c.sql文件
spool
@@a.txt
@@b.txt
spool off;
提示执行成功,但是dos窗口有提示当前未假脱机,这个有问题吗?
  • 打赏
  • 举报
回复
@后面的是sql文件 前面的sqlplus 这一些 要写都 bat里面
qiaobianhongye 2018-07-11
  • 打赏
  • 举报
回复
引用 3 楼 yaiger 的回复:
文件放在本地还是服务器上?只有服务器上的才能访问

是放在本地上的
卖水果的net 2018-07-11
  • 打赏
  • 举报
回复
-- 分开执行
sqlplus hii/hii@200.100.100.1/test @E:\20180709\a.txt
sqlplus hii/hii@200.100.100.1/test @E:\20180709\b.txt
yaiger 2018-07-11
  • 打赏
  • 举报
回复
文件放在本地还是服务器上?只有服务器上的才能访问
qiaobianhongye 2018-07-11
  • 打赏
  • 举报
回复
引用 1 楼 baidu_36457652 的回复:
文件里面sqlplus 登陆后@这个sql文件的绝对路径就可以了。也可以用输入重定向 << 输入sql语句也可以


如果是bat文件里面:sqlplus hii/hii@200.100.100.1/test @E:\20180709\a.txt\b.txt,执行报错
  • 打赏
  • 举报
回复
文件里面sqlplus 登陆后@这个sql文件的绝对路径就可以了。也可以用输入重定向 << 输入sql语句也可以

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧