본문 바로가기

반응형

전체보기

(198)
[MSSQL] TRANSACTION 트랜잭션 트랜잭션을 걸고 DML 수행 후 몇개의 행이 영향을 받는지 확인한 후에 COMMIT TRAN을 하여 실수를 방지할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 BEGIN TRAN SELECT * FROM tbl DELETE FROM tbl DROP TABLE tbl -- 확인 후 -- 성공 -- COMMIT TRAN -- 실패 (되돌리기) -- ROLLBACK TRAN cs 프로시저 생성시 트랜잭션 이용 (insert, update, delete 작업시) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 CREATE PROCEDURE @out_..
[MSSQL] COMPUTE (별도의 결과 집합으로 출력) COMPUTE 결과를 별도의 결과 집합으로 출력한다. 1 2 SELECT 컬럼명 FROM 테이블명 WHERE 조건 COMPUTE 집계함수(컬럼명) cs 집계 함수 → SUM(합계), AVG(평균), MAX(최대), MIN(최소), COUNT(개수) 예제) 1 2 3 SELECT * FROM A WHERE 분류 = '음식' SELECT SUM(금액) AS 'sum' FROM A WHERE 분류 = '음식' SELECT AVG(금액) AS 'avg' FROM A WHERE 분류 = '음식' cs 1 2 3 SELECT * FROM A WHERE 분류 = '음식' COMPUTE SUM(금액) COMPUTE AVG(금액) cs 위의 두 쿼리 문의 결과는 동일하다. 1 2 SELECT * FROM A WHERE ..
[MSSQL] ROLLUP (소계, 합계) ROLLUP GROUP BY에 있는 컬럼들을 오른쪽에서 왼쪽순으로 그룹으로 묶어서 각 그룹에 계를 구한다. ※ 정리GROUP BY a,b,c,d 라고 가정하면 a, b, c, d 로 묶이는 그룹의 값a, b, c 로 묶이는 그룹의 소계a, b 로 묶이는 그룹의 소계a 로 묶이는 그룹의 소계위의 소계들의 총 합계 (전체합계) 결과가 이렇게 보여진다. 예제) 12345678910WITH A AS( SELECT '학용품' AS '분류', '연필' AS '내용', 1 AS '개수', 400 AS '금액' UNION ALL SELECT '음식', '김밥', 1, 2000 UNION ALL SELECT '음식', '제육덮밥', 1, 4800 UNION ALL SELECT '학용품', '지우개', 3, 1200 UN..

반응형