echo off
@cls
@color
rem -- =============================================
rem -- DESCRIPTION: <自動一括作成SQLバッチ>
rem -- AUTHOR: <>
rem -- CREATE DATE: <2010/11/25>
rem -- UPDATE DATE <2011/08/30> Update 2.0
rem -- =============================================
rem ----------------------------
rem 処理種類
rem 0: 一括ファイル生成(手動で更新)
rem 1: 各自ファイルをDBへ自動に更新
rem 2: 0+1の処理を一括に行い
rem ----------------------------
@set do_type=2
rem ----------------------------
rem Local Folder Name
rem ----------------------------
@set local_build_dir=build_sql
rem ----------------------------
rem Local File SQL_Name
rem ----------------------------
@set local_build_file=SQL一括作成.sql
rem ----------------------------
rem sqlserver_host
rem ----------------------------
@set sqlserver_host=KDC-HS-022
rem ----------------------------
rem sqlserver_database
rem ----------------------------
@set sqlserver_database=duplo_guest_0530
rem ----------------------------
rem sqlserver_username
rem ----------------------------
@set sqlserver_username=sa
rem ----------------------------
rem sqlserver_password
rem ----------------------------
@set sqlserver_password=sasa
rem ----------------------------
rem Local log Name
rem ----------------------------
@set local_logfile_name=build.log
rem ----------------------------
rem do build
rem ----------------------------
@echo ===================================
@echo build 開始
@echo ===================================
@set do_flg=0
@set str=0
@if exist .\%local_logfile_name% del /q/s/f ".\%local_logfile_name%"
@if %do_type% EQU 1 goto c
@if exist .\%local_build_dir% @rd /q/s .\%local_build_dir%
@md .\%local_build_dir%
@for /r .\ %%a in (*.sql) do @(
@if exist %%a @type "%%a" >>.\%local_build_dir%\%local_build_file%
)
@if %do_type% EQU 0 goto continue
@:c
@if not exist .\%local_build_dir%\%local_build_file% @set do_flg=1
@if %do_flg% EQU 0 goto a
@if %do_flg% EQU 1 goto b
@:a
@sqlcmd -U %sqlserver_username% -P %sqlserver_password% -S %sqlserver_host% -d %sqlserver_database% -i ".\%local_build_dir%\%local_build_file%" >>.\%local_logfile_name%
@if errorlevel 1 call :error "%local_build_dir%\%local_build_file%"
@goto continue
@:b
@for /r .\ %%a in (*.sql) do @(
@if exist %%a sqlcmd -U %sqlserver_username% -P %sqlserver_password% -S %sqlserver_host% -d %sqlserver_database% -i "%%a" >>.\%local_logfile_name%
)
@goto continue
@:error
@if %1 EQU 0 @del /q/s/f ".\%local_logfile_name%" && goto :eof
@if %1 GEQ 0 @set str=1 && @color 4f
@echo ===================================
@echo ビルド失敗
@echo ⇒ %local_logfile_name% を参照してください
@echo ===================================
@goto :eof
@:continue
@for /r .\ %%L in (%local_logfile_name%) do @(
if exist %%L call :error %%~ZL
)
@if %str% EQU 1 goto end
@color 2f
@echo ===================================
@echo build 終了
@echo ===================================
@echo ===================================
@echo 処理内容:
@if %do_type% NEQ 0 (
@echo 全てsqlファイルを【%sqlserver_host%の%sqlserver_database%】へ更新成功しました
)
@if %do_type% EQU 0 (
@echo ビルドファイル【%local_build_dir%\%local_build_file%】 ご利用ください
)
@echo バージョン情報:
@echo 作成者: 2010/12 Create 1.0
@echo 2011/08 Update 2.0
@echo ===================================
@:end
@pause
@goto :eof