본문 바로가기

반응형

전체보기

(198)
[기록] 구글 1페이지 최상위 노출 달성 (검색어 MSSQL) 구글에서 "mssql" 검색어로 Microsoft 사이트 제외 가장 최상단에 링크됐다! 뿌듯~~~~~ 뿌뿌뿌뿌이~~ 무슨 이유인지 얼마나 갈진 모르겠으나 일단 뿌듯해하자~
[MSSQL] ALL, ANY, SOME (하위 쿼리에서 값을 둘 이상 반환했습니다.) ALL, ANY, SOME 하위 쿼리 (서브 쿼리)의 결괏값이 2개 이상일 경우 사용 서브 쿼리란 SELECT 안에 또 다른 SELECT가 들어간 형태를 의미한다. SELECT 컬럼명 FROM [테이블A] WHERE 컬럼명 조건연산자 (SELECT 컬럼명 FROM [테이블B] WHERE 조건) 예제 테이블 A에서 특정 값을 출력하려고 하는데, 조건은 테이블B에서 이름이 꽁쥐인 값보다 큰 값이다. A B 번호 값 이름 값 1 40 윤선생 40 2 20 꽁쥐 10 3 40 꽁쥐 30 4 60 SELECT 번호, 값 FROM A WHERE 값 >= (SELECT 값 FROM B WHERE 이름 = '꽁쥐') 위의 쿼리는 테이블B에서 꽁쥐의 데이터가 2개 존재하기 때문에 오류가 발생한다. 테이블A에서 값을 출력..
[MSSQL] RAISERROR 프로시저 오류 처리 RAISERROR('메시지', 오류심각도, 상태 [옵션]) 메시지 사용자 정의 메시지 (최대 2,047자) 오류 심각도 1~10 : 일반 사용자 정보 11~16 : 사용자 정의 오류 17~25 : 시스템 오류 - 심각도를 10 이하로 주면 로그만 쌓이고 프로시저 수행에는 아무런 영향을 미치지 않는다. - 심각도를 11 이상을 주면 실제 오류가 발생되어 프로시저를 호출한 Application에서도 오류가 발생하게 된다. - 모든 사용자는 0부터 18까지의 심각도를 지정할 수 있고, 19부터 25까지는 sysadmin 고정 서버 역할의 멤버 또는 ALTER TRACE 권한을 가진 사용자만이 지정할 수 있다. - 20부터 25까지의 심각도는 치명적인 심각도로, 발생 시 클라이언트 연결이 종료되고 오류 및 애플..
[C#] Timer 타이머 (특정 시간마다 이벤트 반복 수행) 타이머를 이용해 특정 시간(매분/초)마다 반복 작업을 수행할 수 있다. 일종의 매크로/스케줄러 같은 역할을 수행하는 것이다. 1초 (1000 밀리초) 마다 이벤트 실행 class Example { private static Timer aTimer; private static readonly double cycleTime = 1000; // 1초 static void Main(string[] args) { SetTimer(); aTimer.Stop(); aTimer.Dispose(); } private static void SetTimer() { aTimer = new System.Timers.Timer(cycleTime); // 이벤트 핸들러 연결 aTimer.Elapsed += new ElapsedEv..
[MSSQL] GROUP BY COUNT (NULL 포함 집계) 데이터를 특정 칼럼을 기준으로 집합으로 묶어 행의 개수를 집계할 때 GROUP BY, COUNT를 사용한다. COUNT(칼럼)의 경우에는 NULL인 행은 카운트에 포함시키지 않지만, NULL도 포함시켜 행의 개수를 집계하고 싶다. CASE WHEN 으로 칼럼의 값이 NULL일 경우 'NULL'로 치환하여 카운트가 되도록 한다. SELECT 칼럼, COUNT(CASE WHEN 칼럼 IS NULL THEN 'NULL' ELSE 칼럼 END) AS CNT FROM 테이블 GROUP BY 칼럼 예제 데이터와 함께 좀 더 자세히 살펴보자 예제 다음과 같이 입고일/제품/회사 정보가 저장된 데이터가 있다. 입고일/제품과 상관없이 회사 칼럼을 기준으로 행의 개수를 집계하고 싶다. 즉, 회사별로 몇개의 행을 가지고 있는..

반응형