Oracle批量执行脚本文件

以下是Oracle批量执行脚本文件的步骤和方法

1、创建脚本文件(xx.sql):

例如文件CreateTable

Create table tb1(
id varchar2(30),
Name varchar2(50)
);
Commit;
/

可以创建多个,但是要注意语句之间要以分号结尾,同时注意语句内尽量不要有空行,因为空行的时候,在批量执行时可能会报错。

例如创建表时

create table t(
id varchar2(20),
Name varchar2(30)

);

上面这个文件在批量执行时,会执行不通过,提示“)”为非法语句。把括号之前的空行去掉就ok了。

对于一些需要提交的sql,应该在执行之后添加commit语句。

再有则是“/”用于标识,文件语句的结束,可有可无。

2、创建执行脚本的命令文件

例如我创建为excute.bat文件,其作用为调用执行sql文件

spool excuteLog.log
prompt   Start-------------------------------------------

@@CreateTable.sql;
@@b.sql;
@@c.sql;

prompt  end----------------------------------------------
spool off

  其中spool 用于执行写日志信息,与spool off组合使用,如果没有spool off则不会将日志写入文件中。

prompt是输出信息命令。

@@后面添加对应的sql文件名,以分号结束。

3、创建调用sqlplus,进行登录和执行excute.bat文件

我创建其为start.bat文件

sqlplus username/[email protected]/fits @excute.bat
pause

  如果是oracle服务为本机的,则可以不用ip。这个和登录sqlplus是一样的。

时间: 2024-11-07 01:05:23

Oracle批量执行脚本文件的相关文章

Oracle 批量执行SQL文件

创建数据库时,我们可能会写很多创建表结构的脚本.如果这些脚本很多的话,一个个执行脚本明显效率太低,那么如何批量执行脚本呢. 一. 首先把所有的脚本放入到一个目录下. 二.在这个目录下创建一个txt文件. 三.txt文件当中每一行按照如下的格式. 其中spool 是把脚本执行过程输出到一个文件当中,prompt命令是输出提示,表明现在在创建哪张表. 四. 执行脚本. 打开PL/SQL ,新建一个命令窗口.然后再命令窗口当中输入@符号,按回车键,此时出现一个文件选择框,我们选中我们创建的批量执行脚本

2.3-命令批量执行脚本

命令批量执行脚本,同样需要两个脚本来实现:1 exe.expect 2 exe.sh 3 ip.list    IP列表 cat exe.expect #!/usr/bin/expect set host [lindex $argv 0]            #第一个参数,IP列表 set passwd "hd792310" set cm [lindex $argv 1]              #第二个参数,cm要执行的命令 spawn ssh [email protected]

通过SqlClr制作Sql自动化批量执行脚本

通过SqlClr制作Sql自动化批量执行脚本 在与同事一起做项目时,看到同事用sqlclr做批量执行脚本,感觉挺新奇的就上网搜集资料自己模仿跟做了个案例, 感觉挺不错的,现在想和大家分享一下,可能存在些错误的地方,大家就做个小参考吧.... 1.我们在做数据迁移或是数据库结构修改时,通常会写一些脚本文件之后逐个运行.但是如果有数十或数百个脚本文件, 那么就可以通过SqlClr制作Sql自动化执 2.比如现在ImportDataScript文件夹内有些脚本文件: 3.我们想让这9个脚本文件自动的依

python 批量执行脚本(服务端和客户端建立TCP连接)

有很多开源的批量部署的工具可以使用,比如puppet, ansible , saltstack , chef . 但这些工具都有自己的一套语法规则,你得按照他的语法来编写程序,然后批量执行. 那有没有方法可以直接写bash 或者Python脚本,然后批量执行呢? 方法当然是有的,需要自己写程序来传输脚本,拷贝文件,再复杂点,可以自定义脚本式同步还是异步执行,自定义要执行的主机组,等等,需要根据自己的业务需要来想. 这里只是抛砖引玉,我采用建立socket(TCP)连接来批量执行脚本. 服务端脚本

mysql数据库批量执行sql文件对数据库进行操作【windows版本】

起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: 首先,需要对所需升级的sql所在目录的sql文件进行遍历.生成新的批量执行sql文件.想到是windows系统安装的mysql,首先想到使用bat进行sql文件的生成: 生成sql文件后,还需要使用bat文件连接到数据库,并使用新生成的sql文件进行升级. 想到升级的过程中还有可能字符集出现问题,因

sqlplus批量执行脚本日志输出

spool d:\eagle2_2014_5_9_init.log; set feedback off; set define off; prompt -----初始化数据 start--- @D :\projects\Eagle_V2\04Code\v2.0\eagle2\resources\database\full\coc\coc-initialize.sql @D :\projects\Eagle_V2\04Code\v2.0\eagle2\resources\database\full

批量执行SQL文件

原文:批量执行SQL文件 摘要:很多时候我们在做系统升级时需要将大量的.sql文件挨个执行,十分不方便.而且考虑到执行顺序和客服的操作方便性,能不能找到一种简单的方法来批量执行这些sql文件呢? 主要内容: 准备工作 利用osql/ocmd命令批量执行sql文件 使用master..xp_cmdshell存储过程调用osql/ocmd命令 总结 一.准备工作 既然是要批量执行sql文件,首先我们建立两个sql文件:1.sql和2.sql. 1.sql的内容: INSERT INTO dbo.Pr

分发系统:命令批量执行脚本

该脚本实现对不同主机批量执行命令 [[email protected] ~]# cat exe.expect#!/usr/bin/expect set host [lindex $argv 0] set passwd "123456" set cm [lindex $argv 1] spawn ssh [email protected]$host expect { "yes/no" { send "yes\r"} "password:&

Jmeter 批量执行脚本之-----------Ant

一.环境介绍&准备: 1)jmeter3.2版本,需配备jdk1.8(或其他jmeter版本): 2)ant下载,并配置环境变量: a.下载地址:http://ant.apache.org/bindownload.cgi b. 配置环境变量: c.检查是否生效:命令行输入ant -v,出现以下表示成功 3)拷贝jar包:将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中 4)修改Jmeter的bin目录下jmeter.propert