Home > Database > Mysql Tutorial > sql server自动生成批量执行SQL脚本的批处理

sql server自动生成批量执行SQL脚本的批处理

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-07 16:18:23
Original
1544 people have browsed it

场景: DBA那边给我导出了所有的存储、函数等等对象的创建脚本,有上千个文件. 现在需要将这些对象创建脚本导入到另外一个库,如何解决呢? 手动一个个执行显然不太现实. 于是手动写了一个批处理,将所有的文件形成一个.SQL的脚本,最后以@生成的.SQL脚本方式导入

  场景:

DBA那边给我导出了所有的存储、函数等等对象的创建脚本,有上千个文件.

现在需要将这些对象创建脚本导入到另外一个库,如何解决呢?

手动一个个执行显然不太现实.

于是手动写了一个批处理,将所有的文件形成一个.SQL的脚本,最后以@生成的.SQL脚本方式导入到目标库中.

OS环境:WINDOWS xp

脚本内容如下:

@echo off if exist list.sql del list.sql /q :input cls set input=: set /p input= 请输入要进行判断的路径: set "input=%input:"=%" :: 上面这句为判断%input%中是否存在引号,,有则剔除。 if "%input%"==":" goto input if not exist "%input%" goto input for /f "delims=" %%i in ('dir /b /a-d /s "%input%"') do echo @@%%~fnxi>>list.sql if not exist list.sql goto no_file start list.sql exit :no_file cls echo %cur_dir% 出现错误,未成功生成list.sql脚本! pause

使用:

另存为.BAT类型文件后,双击执行.

输入你脚本的路径:

如我的E盘CRY文件夹下,有如下类型的文件:

TEST.PRC

...

123TEST1.FNC(有子文件夹123)

...

TEST2.VW

..

执行该批处理后,最后生成的list.sql脚本文件内容如下(执行完批处理后会用默认的编辑器自动打开该文件):

@@E:cryTEST.PRC

...

@@E:cry123TEST1.FNC

...

@@E:cryTEST2.VW

...

打开SQLPLUS,以指定用户登录数据库,然后执行: (我的脚本文件生成在d盘)

@D:list.sql

这样所有的对象就会自动在指定用户下生成.

---------------------------

注意:这样生成的对象很多都是无效的,因为没有按顺序生成,所以建议在自动执行完后,再编译一下所有无效的对象.

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
server
From 1970-01-01 08:00:00
0
0
0
Configure server
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template