본문 바로가기

728x90
반응형

SQLServer

(4)
SQL Server - 테이블 수정 저장시 '테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함' 옵션 "디자인"에서 테이블 수정할 때 저장이 안 될 때 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함] 옵션 문제 생길 때. SQL Server Management Studio (SSMS)에서 테이블 수정 시 이와 같이 메시지가 나오면서 수정이 안 될 때? 컬럼의 NULL 허용 설정 변경 테이블의 컬럼 순서 변경 컬럼 데이터 형식 변경 새로운 컬럼 추가 이러한 사항은 메시지와 같이 해당 옵션을 사용할 때 발생한다. 도구 → 옵션 → 디자이너 [테이블을 다시 만들어야 하는 변경 내용 저장 안 함]의 옵션을 체크 해제한다. 수정 후 저장이 가능하다. 사실 간단한 건데 매번 찾아보기 뭐해서 글을 올려둔다.
SQL Server - FOR XML PATH 그리고 STUFF FOR XML PATH, STUFF 그리고 조합해 보기 FOR XML PATH 쿼리 결과를 XML 형태로 표현. FOR XML PATH ('row element 이름') 만약 'row element 이름'이 없으면 로 감싸진다. 행 구분자 추가해서, 합친 문자로도 SELECT lastname FROM HR.Employees FOR XML PATH ex) CameronDavisDoyleFunkKingLewMortensenPeledSuurs SELECT lastname FROM HR.Employees FOR XML PATH ('LName'); 결과 - Cameron Davis Doyle Funk King Lew Mortensen Peled Suurs SELECT '/' + lastname FROM HR.Em..
SQL Server - GO에 대해서 (BATCH) GO를 알기 전에 작업단위 (BATCH)란? 실행을 위해 프로그램으로부터 서버로 동시에 전송되어 실행되는 여러 T-SQL문장의 조합 MSSQL의 데이터베이스 엔진은 작업단위로 전송된 SQL 문장들에 대해 단일 실행계획으로 만들어 수행 만약 작업단위내 한 문장이라도 컴파일 오류를 포함하게 되면 해당 작업단위는 수행되지 않는다 이때, 일괄처리를 정하기위해서 "GO"라는 예약어를 사용한다. GO를 쓰는 이유. 한마디로 BATCH (일괄처리)의 단위라고 볼 수 있다. 한줄 한줄 실행할 때마다 매번 데이터베이스에 접속하면 처리시간이 길어지고 비효율적이다. 이에 큰 덩어리 단위로, 묶어서 보내주는 BATCH 개념이 나오게 된다. 그리고 GO는 그 구분점. GO명령어는 T-SQL의 구문이 아니며, 아래의 3개 툴에서..
데이터 피벗, 언피벗 (Pivot, Unpivot) 데이터 피벗? 행을 기반으로 하는 데이터를 컬럼을 기반으로 하는 상태로 바꾸는 것. 다음같은 내용의 결과가 있다고 할 때, SELECT empid, custid, SUM(qty) AS SumQty FROM dbo.Orders GROUP BY empid, custid; 직원 ID별 (행), 고객별 (컬럼) 의 총 수량을 출력하고자 하는 리포트를 만들고자 한다면. (피벗팅) 모든 피벗팅은 3가지 논리적 프로세싱 단계로 수행되며, 각 단계마다 필요한 요소가 존재한다. 그룹핑 - 연관된 그룹핑 또는 행 요소를 필요로 하며, 전개 - 연관된 전개 요소 또는 컬럼 요소를 필요로 하며, 집계 - 연관된 집계 요소와 집계 함수를 필요로 한다 여기선 각 직원ID마다 결과를 하나의 행으로 출력 (그룹핑) 고객ID별로 수량..

반응형