自动生成批量执行SQL脚本的批处理实例演示

 更新时间:2013年04月16日 16:56:14   作者:  
DBA那边给我导出了所有的存储、函数等等对象的创建脚本,有上千个文件,接下来为大家介绍下如何将这些对象创建脚本导入到另外一个库
场景:
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
..
123\TEST1.FNC(有子文件夹123)
..
TEST2.VW
.
执行该批处理后,最后生成的list.sql脚本文件内容如下(执行完批处理后会用默认的编辑器自动打开该文件):
@@E:\cry\TEST.PRC
..
@@E:\cry\123\TEST1.FNC
..
@@E:\cry\TEST2.VW
..
打开SQLPLUS,以指定用户登录数据库,然后执行: (我的脚本文件生成在d盘)
@D:\list.sql
这样所有的对象就会自动在指定用户下生成.
---------------------------
注意:这样生成的对象很多都是无效的,因为没有按顺序生成,所以建议在自动执行完后,再编译一下所有无效的对象.

相关文章

  • Windows批处理双击切换IP地址方便、快捷

    Windows批处理双击切换IP地址方便、快捷

    ,由于单位需要配固定IP地址,而家里是自动获得IP地址的,所以每天都要对这个IP地址设置来设置去,下面教大家个小技巧通过批处理切换IP地址,方便、快捷
    2013-11-11
  • 通过批处理调用SQL的方法(osql)

    通过批处理调用SQL的方法(osql)

    其实通过bat调用sql就是通过sqlserver自带的osql来支持sql语句,需要的朋友可以参考下
    2012-12-12
  • 清除电脑开机口令的方法

    清除电脑开机口令的方法

    清除电脑开机口令的方法...
    2006-12-12
  • dos if 条件判断

    dos if 条件判断

    if用于条件判断,适用于以下情形,需要的朋友可以参考下
    2009-04-04
  • 批处理cmd之桌面快捷方式创建工具

    批处理cmd之桌面快捷方式创建工具

    今天需要将一个便携版的软件配一个桌面快捷方式,发现用批处理做个挺好的,开源也利于大家学习,脚本之家小编特整理成了函数方便调用
    2021-10-10
  • 无法使用GHOST及避免出现A:\GHOSTERR.TXT的解决方法

    无法使用GHOST及避免出现A:\GHOSTERR.TXT的解决方法

    昨天我遇到这样一个问题在一台联想U2240新机上无法用GHOST安装系统,从光盘启动自动一键GHOST11.0到C盘时,图象出现在还没进入GHOST11.0 就象死机一样停在那里不能动了 尝试过分区;换GHOST8.0一样无效。将GHOST拷贝到D盘,进入DOS,也还是无法运行GHOST。百般无奈只好用安装光盘进行安装了,系统虽然可以成功安装好,但却浪费我好多时间。
    2008-05-05
  • CHM 文档解包批处理代码

    CHM 文档解包批处理代码

    这两天遇到需要修改CHM文档,上网搜了一大堆的CHM解包和修改软件,发现很多软件还得注册,我晕想了想,似乎Windows中有个自带的命令HH可以用得上,就顺手写了这个批处理
    2011-01-01
  • bat 截取字符串(for命令) 推荐收藏

    bat 截取字符串(for命令) 推荐收藏

    今天看到一篇文章使用了for命令循环输出一些内容,需要截取字符串的一些信息,这里脚本之家小编特为大家整理下, 方便需要的朋友
    2014-05-05
  • 几个bat例子文件

    几个bat例子文件

    几个bat例子文件...
    2007-02-02
  • 命令行下一种新的添加帐号的方法(Shell.Users)

    命令行下一种新的添加帐号的方法(Shell.Users)

    用户控制面板文件nusrmgr.cpl,发现调用的是Shell.Users来加用户,它还同时调用了 wscript.shell、Shell.Application、Shell.LocalMachine这三个组件。
    2010-09-09

最新评论