SQL 서버에 질의를 일괄적으로 보내는batch

이것은 한 층의 폴더에 있는 모든 조회를 일괄적으로 실행하는 일괄입니다.

정렬 방법


C:.
│  runquery.bat
│
├─folder1
│      query1.sql
│      query2.sql
│
└─folder2
        query3.sql
        query4.sql

배치 처리


runquery.bat
@echo off
cd /d %~dp0

SET USERID=(ユーザー名)
SET PASSWD=(パスワード)
SET HOSTNAME=(サーバー名またはIP)
SET DATABASE=(データベース名)

setlocal enabledelayedexpansion

echo *---------------------------------*
echo DBユーザー            :%USERID%
echo DBユーザーパスワード  :%PASSWD%
echo サーバー名            :%HOSTNAME%
echo データベース名        :%DATABASE%
echo *---------------------------------*

echo.
set /P USR_INPUT_STR="処理を行います。よろしいですか?(Y/N)"

if /i %USR_INPUT_STR% neq y goto cancel

for /d %%i in (*) do (
    pushd .
    cd %%i
    echo %%i
    for %%j in (*.sql) do (
        echo %%j
        echo %%i_%%j >> ../Logfile_%HOSTNAME%_%DATABASE%.txt
        sqlcmd -S %HOSTNAME% -d %DATABASE% -U %USERID% -P %PASSWD% -i "%%j" >> ../Logfile_%HOSTNAME%_%DATABASE%.txt
    )
    popd
)

pause

:cancel

echo.
echo.
echo 処理を中断しました。
goto :end

pause

주의


Shift JIS를 사용하여 저장하십시오.실행할 때 코드가 흐트러집니다.
VS 코드에서 볼 때 오른쪽 아래에 있는 UTF8을 클릭하면 Select Action이 위쪽에 나타납니다.
Shift JIS(Reopen with Enceoding & Japanese) 를 클릭하십시오.
로그는 전혀 방법이 없기 때문에 SQLServerManagement Studio에서 실행할 때의 결과가 바로 표시됩니다.이것은 실행 결과만 보면 알 수 있는 전제이기 때문에 SQL을 잘 모르는 사람은 자동으로 검색을 실행하지 않는다.

좋은 웹페이지 즐겨찾기