DB관련/SQL Server

mssql - sqlcmd명령으로 update query를 파일로 만들어 실행하기.

saltdoll 2018. 2. 21. 03:41
반응형

sqlcmd를 통해서 update를 bat파일로 만들기


(주의: sqlcmd.bat과 같이 명령어(sqlcmd)를 파일이름으로 사용하면 무한 loop가 발생합니다.)


1) query.sql 만들기

업데이트등 실행할 명령의 파일을 만듭니다. 일반 sql management studio의 쿼리를 주듯이 하면 됩니다.

USE {디비명}


update TEST set SYNC_DATE=null, UPDATE_DATE=getdate() where ORDER_ID='1234';

update TEST set SYNC_DATE=null, UPDATE_DATE=getdate() where ORDER_ID='2345'; 


2) runQuery.bat 만들기

@ECHO OFF

sqlcmd -E -S localhost -i "c:\unix\query.sql"


또는 

@ECHO OFF

set pcname=%COMPUTERNAME%

sqlcmd -E -S %pcname% -i "c:\unix\query.sql"


- 끝 -



[ 참고 화면 ]

sqlcmd를 cmd에서 실행한 화면)


[ 참고 POST ]

2017/12/09 - [DB관련/SQL Server] - sqlcmd 이용한 쿼리 확인하기 (Management Studio가 없을때)

2017/11/14 - [DB관련/SQL Server] - SQL DB Backup 스케쥴 cmd 배치파일(bat)로 zip 백업 만들기 +7z.exe





참고: sqlcmd

sqlcmd 유틸리티 (한글)https://technet.microsoft.com/ko-kr/library/ms162773(v=sql.105).aspx

sqlcmd 
[{ { -U login_id [ -P password ] } | –E trusted connection }] 

[ -N encrypt connection ][ -C trust the server certificate ]
[ -z new password ] [ -Z new password and exit]
[ -S [protocol:]server[\instance_name][,port] ] [ -H wksta_name ] [ -d db_name ]
[ -l login time_out ] [ -A dedicated admin connection] 
[ -i input_file ] [ -o output_file ]
[ -f < codepage > | i: < codepage > [ < , o: < codepage > ] ]
[ -u unicode output] [ -r [ 0 | 1 ] msgs to stderr ] 
[ -R use client regional settings]
[ -q "cmdline query" ] [ -Q "cmdline query" and exit] 
[ -e echo input ] [ -t query time_out ] 
[ -I enable Quoted Identifiers ] 
[ -v var = "value"...] [ -x disable variable substitution ]
[ -h headers ][ -s col_separator ] [ -w column_width ] 
[ -W remove trailing spaces ]
[ -k [ 1 | 2 ] remove[replace] control characters ] 
[ -y display_width ] [-Y display_width ]
[ -b on error batch abort] [ -V severitylevel ] [ -m error_level ] 
[ -a packet_size ][ -c cmd_end ] 
[ -L [ c ] list servers[clean output] ] 
[ -p [ 1 ] print statistics[colon format]] 
[ -X [ 1 ] ] disable commands, startup script, enviroment variables [and exit]  

[ -? show syntax summary] 


sqlcmd - Run Transact-SQL Script Files: 

 https://docs.microsoft.com/en-us/sql/relational-databases/scripting/sqlcmd-run-transact-sql-script-files

In the Command Prompt window, type: 

sqlcmd -S myServer\instanceName -i C:\myScript.sql



참고2: bat

[팁] 명령러로 Window hostname 알아보기: http://kikook.tistory.com/85

변수 

 유형

 내용

 %CD%

로컬 

현재 디렉터리 문자열을 반환한다. 

 %COMPUTERNAME%

시스템 

컴퓨터 이름을 반환합니다. 

 %PATH%

시스템 

실행 파일의 검색 경로를 지정합니다. 

 %TEMP% 또는 %TMP%

시스템및 사용자 

 현재 로그인한 사용자의 temp 디렉토리




[ TIP ] 

추가로 윈도우, Task Schedule에 해당 Bat파일을 실행해주면, 특정 시간에 작업도 가능하게 됩니다.

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)