본문 바로가기

반응형

프로그래밍/MSSQL 정리필요

(22)
[DB_MSSQL] 테이블 명세서 출력 쿼리 MS-SQL에서 출력 쿼리를 해당 DB에서 실행한다. 출력되는 메세지를 저장한다. (마우스 오른쪽 → 다른 이름으로 결과 저장) rpt파일을 EditPlus 등 편집기로 열고 HTML파일로 저장한다.
[DB_MSSQL] sp_addextendedproperty 주석 (테이블/컬럼) sp_addextendedproperty를 이용하여 테이블 및 컬럼에 주석을 달아보자 특정 테이블 및 컬럼에 대한 설명이 따로 적혀 있지 않으면, 해당 정보에 대해 알기 어렵다.테이블 및 컬럼에 대해 설명을 달아보자 주석 추가/수정 -- 주석 추가 (테이블) EXEC sp_addextendedproperty 'MS_Description', '테이블설명', 'user', dbo, 'table', 테이블명 -- 주석 추가 (컬럼) EXEC sp_addextendedproperty 'MS_Description',' 컬럼설명', 'user', dbo, 'table', 테이블명, 'column', 컬럼명 -- 주석 수정 (테이블) EXEC sp_updateextendedproperty 'MS_Description..
[MSSQL 연습] 오름차순으로 정렬하되, 같은 이름은 묶기 문제 해당 데이터를 날짜컬럼(CreDate)을 기준으로 오름차순으로 정렬하되, Name컬럼의 값이 동일한 데이터는 묶어서 보여주자 즉, 가장 작은 날짜를 가진 데이터를 최 상단에 보여주고해당 데이터의 Name 값과 동일한 데이터가 있다면!그 데이터가 다음 ROW에 보여진다. (다수일 경우 해당 데이터끼리 오름차순) 해당 Name의 데이터를 모두 나타낸 후다른 Name 값 중에서 가장 작은 날짜가 다음 ROW가 된다. 이하 반복.. 원본 데이터 IDX Name CreDate 1 A 2017-01-01 2 C 2017-01-02 3 C 2017-01-03 4 A 2017-01-03 5 B 2017-01-03 6 B 2017-01-04 7 C 2017-01-04 원하는 결과 IDXName CreDate 1 A..
[DB_MSSQL] INDEX 컬럼 (WHERE IDX=1+1 vs WHERE IDX-1=1) WHERE IDX = 1+1 vs WHERE IDX-1 = 1 승자는 WHERE IDX = 1+1 인덱스컬럼에 형 변환 및 값 변경이 발생하면, 인덱스를 제대로 타지 않을 수 있다.즉, IDX-1과 같은 값 변경이 발생하면 인덱스를 안타게 될 수 있다! 예제 SEQ 컬럼을 PK로 설정한 테이블 TABLE1이 있다. SELECT * FROM TABLE1 WHERE SEQ = 4999 + 1 위의 쿼리문을 실행해보자실행 계획을 살펴보면 다음과 같이 Clustered Index Seek 즉 인덱스를 잘 타고있다는것을 확인할 수 있다. 그러나, SELECT * FROM 테이블명 WHERE SEQ-1 = 4999 위의 쿼리처럼 인덱스컬럼에 값 변화를 주고 실행해보자실행 계획을 살펴보면 Seek이 아닌 Scan이 ..
[DB_MSSQL] 프로시저 실행 결과 테이블에 입력 프로시저를 실행 해서 출력된 결과를 테이블에 입력시켜보자 INSERT INTO 테이블명 EXEC 프로시저명 예제 EXEC USP_TEST_LIST @type='num1' USP_TEST_LIST 프로시저를 실행시켰을때 결과가 다음과 같다. 이 결과를 임시테이블 #TempTable에 입력시키려고 한다. -- 임시테이블 생성 CREATE TABLE #TempTable ( sDate VARCHAR(12) , eDate VARCHAR(12) ) -- 입력 INSERT INTO #TempTable EXEC USP_TEST_LIST @type='num1' 다음 쿼리를 수행하면 프로시저의 결과가 #TempTable에 입력된다. 결과를 확인해보자

반응형