博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle & SQLServer 脚本批量执行方法
阅读量:6968 次
发布时间:2019-06-27

本文共 1479 字,大约阅读时间需要 4 分钟。

    在工作中,有的项目使用Oracle数据库,有的使用SQL SERVER数据库,当一部分功能开发完毕后,提交测试人员测试,当提交的sql 脚本比较多的时候(例如30个sql脚本),测试人员反馈一个一个执行比较麻烦耗时,希望能批量一次性执行完所有脚本。

 

所以花时间分别研究了一下Oracle和Sql Server 批量执行多脚本的方法,如下分别描述。

 

Oracle:

Oracle处理方式是写一个总的sql,用@的方式把所有sql加上,只要执行总的sql即可。

 

1.准备数据,有两个脚本1.create_view.sql 和 2.fn_test_sj.sql。(以两个脚本为例,多脚本以此类推)。

 

2.一般会把需要执行的sql脚本放在一个文件夹里,好调用管理,例如放在prepareSql文件夹下。

 

3.和prepareSql文件夹同一层级,新建总的调用的sql脚本------ allSql.sql,里面写调用语句,如下:

         

@prepareSql/1.create_view.sql@prepareSql/2.fn_test_sj.sql

 

4.在Oracle的PL/SQL工具的command 窗口中,输入【@】,然后按下【回车键】,选中allSql.sql执行,达到了批量执行的目的。

 

 

 

SQL Server 2008:

SQL Server没有像Oracle那样,可以在command窗口使用@的方式批量调用,不过,SQL SERVER提供了

SQLCMD的命令,实现批量调用的目的。

 

1.准备数据,两个脚本,1.test.sql,2test.sql,分别为两个简单的建表语句。

1.test.sqluse mastergocreate table test_sj(  id int,  name varchar(100))go2.test.sqluse mastergocreate table test_sj1(  id int,  name varchar(100))go

 

2.新建一个文本,里面编写调用脚本:
 
@ECHO OFFrem auth by sjrem *************数据库配置,根据实际使用数据库修改set ip=192.168.18.203\home set user=sa set passwd=AX8bstrem *************数据库配置,根据实际使用数据库修改echo *********************开始执行!*******************************sqlcmd  -m0 -r 1 -S %ip%  -U %user% -P %passwd%  -i 1.test.sqlsqlcmd  -m0 -r 1 -S %ip%  -U %user% -P %passwd%  -i 2.test.sql           echo *********************执行完毕!*******************************pause>nul
 
 
将脚本另存为.bat格式,双击即可执行,看一下效果:
 
 
 
如果执行有问题,控制台会报错,因为脚本中是建表语句,在执行一遍,就可以看到错误,如图:
 
 
具体SQLCMD的命令的参数可以在cmd窗口输入
C:\Users\tusiji>sqlcmd -?   查看,或者求助SQL SERVER官方文档,查看具体。
 
 
 
 

转载于:https://www.cnblogs.com/YiZhiMaLong/p/7954420.html

你可能感兴趣的文章
HDu 2010 水仙花数
查看>>
AIDL Service Android进程间通信机制
查看>>
android Intent.createChooser 应用选择
查看>>
[转]jQuery插件写法总结以及面向对象方式写法
查看>>
Swift - 自定义UIActivity分享
查看>>
递归算法的数据结构和算法 C++和PHP达到
查看>>
Nagios经check_http监视web申请书server多个tomcat维修
查看>>
Intellij IDEA
查看>>
springMVC乱码问题
查看>>
第六章 插入,更新和删除数据
查看>>
在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)
查看>>
Js 类定义的几种方式
查看>>
python之模块cmath
查看>>
java 遍历arrayList的四种方法
查看>>
Activiti系列: 如何添加自定义表单引擎
查看>>
Codeforces Round #332 (Div. 2) B. Spongebob and Joke 水题
查看>>
httpd/php/mysql的安装-1
查看>>
终极版:由简单工厂模式,升级到抽象工厂模式(用到反射)
查看>>
LintCode: O(1) Check Power of 2
查看>>
sysbench 测试MYSQL
查看>>