`

Oracle & SQLServer 脚本批量执行方法

 
阅读更多

    在工作中,有的项目使用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.sql

use master
go

create table test_sj
(
  id int,
  name varchar(100)
)
go


2.test.sql

use master
go

create table test_sj1
(
  id int,
  name varchar(100)
)
go

 

2.新建一个文本,里面编写调用脚本:
 
@ECHO OFF
rem auth by sj
rem *************数据库配置,根据实际使用数据库修改

set ip=192.168.18.203\home 
set user=sa 
set passwd=AX8bst

rem *************数据库配置,根据实际使用数据库修改


echo *********************开始执行!*******************************

sqlcmd  -m0 -r 1 -S %ip%  -U %user% -P %passwd%  -i 1.test.sql
sqlcmd  -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官方文档,查看具体。
 
 
 
 
  • 大小: 21.5 KB
  • 大小: 5.7 KB
  • 大小: 14.5 KB
  • 大小: 21.5 KB
分享到:
评论

相关推荐

    批量执行sql脚本文件,支持oracle、sql server2005

    批量执行sql脚本的web工程,通过myeclipse导入工程即可,经过测试可以批量导入oracle与sql server2005的脚本,而且是web页面的向导式执行*.sql脚本文件 支持事务,任何执行过程出现异常,均会提示并且回滚操作,页面...

    SQLSERVER(可修改IP和端口port)和ORACLE生成批量执行脚本的方法【多个文件批量处理】SqlFileTest.java

    SQLSERVER(可修改IP和端口port)和ORACLE生成批量执行脚本的方法批处理 sql版本把控制台的内容复制出来,粘贴到bat文件中,单击执行就ok oracle版本把控制台生成的脚本在,plsql中用新建个“命令窗口”,把控制台的...

    sqlserver表数据插入到oracle表中的一种实现方式(表结构相同)

    一时也想不到怎么把sqlserver表数据复制到oracle中,于是请教公司主管,用存储过程实现可以查询出所有数据的insert脚本,在oracle库中创建好表,直接把sqlserver中的insert脚本复制到oracle执行就可以批量添加了。

    LTP.Net代码自动生成器(DbToCode)

    (7)支持对多种类型数据库生成代码:如SQLServer2000,SQLServer2005,Oracle,OleDb等。 2.数据库管理器。 类似SQLServer2000的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看...

    Navicat数据库管理工具

    3. SQL查询和脚本执行:使用Navicat,您可以编写和执行SQL查询,进行数据检索、筛选和分组等操作,还可以执行SQL脚本进行批量操作。 4. 数据可视化和报表生成:Navicat提供了直观的图形化界面,可视化数据模型和关系...

    SQL21日自学通

    Microsoft and Sybase SQL Server 171 Personal Oracle7171 总结172 问与答172 校练场173 练习173 第九天创建和操作表174 目标174 CREATE DATABASE 语句174 建立数据库时的选项175 设计数据库176 建立数据字典176 ...

    CoolSQL_windows_0_9_5_RC2

    所有SQL脚本都可以以批量的模式执行。 能够搜索所有数据包括数据库列,表/视图和其他表格型。 支持i18n,当前提供两种语言(中文和英文)。 提供收藏功能,管理由用户收集的文本信息。 支持通过插件扩展其功能。

    动软.Net代码生成器

    •支持对多种类型数据库生成代码:如SQLServer2000/2005,Oracle,OleDb等 •可以生成3种不同类型数据层: 基于SQL字符串方式,基于Parameter方式和基于存储过程方式的数据层 数据库服务器管理 类似SQLServer...

    C#开发经验技巧宝典

    0965 如何生成SQL数据库脚本 564 0966 SQL Server 2000无法安装的解决办法 565 20.3 其他 565 0967 如何判断记录是否为NULL 565 0968 建立Oracle数据库连接 566 0969 如何在数据表中设置主键 566 0970 ...

    动软.Net代码自动生成器(Codematic)

    (7)支持对多种类型数据库生成代码:如SQLServer2000,SQLServer2005,Oracle,OleDb等。 <br/>2.数据库管理器。 类似SQLServer2000的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且...

    attemper:Distributed,multi-tenancy,job-flow scheduling application(分布式多租户的支持流程编排的任务调度平台) QQ群

    支持Mysql/Oracle/Sql Server/PostgreSQL 支持Eureka作为注册中心,可自行扩展与Spring Cloud集成的其他注册服务的中间件 支持脚本任务(Shell/Python等) 支持父子、并发、分支判断等任务 支持(父子)任务传参、参数...

    Toad 使用快速入门

    在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。Quest Software为此提供了高效的Oracle应用开发工具-Toad(Tools of ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例066 员工信息的批量删除 98 实例067 表格的动态创建 99 实例068 SESSION购物车中数据的读取 100 实例069 员工信息的管理 102 实例070 网页版九九乘法表 104 实例071 读取数组购物车中的数据 105 实例072 图像...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例066 员工信息的批量删除 98 实例067 表格的动态创建 99 实例068 SESSION购物车中数据的读取 100 实例069 员工信息的管理 102 实例070 网页版九九乘法表 104 实例071 读取数组购物车中的数据 105 实例072 图像...

    SqlToolBox 1.8.2

    另外工具栏菜单中的双向右三角形按钮用于批量执行Sql语句,它以分号“;”来作为每段Sql的分隔标志,然后分别执行每段。 如何快速调整对执行查询语句后得到的表格列宽度? 如果您想自动调整某列的宽度,可以双击这列...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例226 对SQLServer数据库进行录入和提取多媒体文件 实例227 对SQL Server数据库进行录入和存储Word文档 8.10 数据备份恢复 实例228 Access数据库备份与还原 实例229 SQL Server数据库备份与恢复 实例230 ...

Global site tag (gtag.js) - Google Analytics