본문 바로가기

MSSQL

sql파일을 윈도우 예약된 작업으로 실행시키기 실행란에는 실행될 파일의 경로가 들어가는데, 경로 앞에 sqlcmd -S localhost -E -i 를 추가시작위치에는 "C:\Program Files\Microsoft SQL Server\90\Tools\Binn" 큰 따옴표는 경로에 띄어쓰기가 들어가있어서 필수. sql문은 USE [DB명] 빼먹지 않도록. USE [MYDB] GO update mytable set mycolumn='대기' where mycolumn='등록' and register_date < DATEADD(Month, -3, getdate()) GO 더보기
distinct 구문에서 랜덤 쿼리 쉽게 하기 mssql 클래식 asp 쿼리시에 distinct 구문에 대한 order by newid() 적용이 몇년만에 처음으로 필요한 업무가 있어서 "그냥 평소처럼 쓰던 쿼리 뒤에다가 order by newid() 넣으면 알아서 랜덤 출력 되어주겠지"라고 생각하다가 일단 에러... 검색해봤으나 눈에 익숙한 한글로 된 자료들 중엔 의외로 찾기가 어려웠네요. 스택오버플로에서 여러가지 방법이 많이 제시되어 있었는데 그중에 가장 간단한 방법으로 하나 소개합니다. 저도 이걸로 손쉽게 업무 해결. SELECT * FROM (여기에 order by절을 제외한 필요한 쿼리) as t ORDER BY NEWID() 사용하실 쿼리문에서 order by 절을 제거하고, 남은 쿼리문을 괄호로 감싸준 후, 위 소스처럼 해주니까 일단 제.. 더보기
classic asp에서 DB 트랜잭션 처리 ASP + MSSQL 환경에서는 아직 트랙잭션을 적용해본적은 없지만 작년에 파견나가서 ASP + 오라클 환경에서 작업을 할때 오라클의 clob(mssql의 text필드) 타입의 컬럼에 있는 데이터를 다룰때는 트랙잭션을 안쓰면 문자열이 잘리는 등의 에러가 나서 "반드시" 저렇게 처리해야만 했던 기억이 나네요. (확실한 원인 파악보다는 오류 처리가 우선이었던 작업이라 정확히 clob 와 트랜잭션 문제였는지는 1년이 지난 지금으로썬 다소 불확실하지만, 확실한건 처음엔 트랜잭션 안쓰고 작업했다가 나중에 소스 전부다 저렇게 바꿨다는거...) mssql 환경에서는 꼭 써야할 일은 일반적으론 없다는게 개인적인 생각입니다. 더보기