• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    自动生成批量执行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
    ..
    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
    这样所有的对象就会自动在指定用户下生成.
    ---------------------------
    注意:这样生成的对象很多都是无效的,因为没有按顺序生成,所以建议在自动执行完后,再编译一下所有无效的对象.
    您可能感兴趣的文章:
    • mysql批量执行sql文件的方法
    • sqlserver中通过osql/ocmd批处理批量执行sql文件的方法
    • shell在指定目录下批量执行sql脚本的实例
    • c#实现用SQL池,多线程定时批量执行SQL语句的方法
    • 批量执行sql语句的方法
    • Windows环境下实现批量执行Sql文件
    上一篇:运行cmd直接进入指定目录下的命令
    下一篇:下载站运行广告合作exe文件然后再运行程序文件的bat
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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