본문 바로가기
DATABASE/MsSQL

[MsSQL] Table / Column Comment - 코멘트, 설명 달기

by DANEW 2023. 8. 1.

Intro

안녕하세요.

초보 DBA 다뉴입니다!!

 

Database 내에 있는 Table과 각 Table마다 Column에 대해서

아무리 표준화를 진행하고 깔끔하게 만든다 하더라도 이 모든것을 기억하거나 알기는 쉽지않습니다.

 

제가 지금 현업에서 관리하고 있는 Table은 수천개가 되는데요.

여러가지 데이터와 로그, 통계 등을 가지고 있다보니, 그 수와 양이 어마어마 합니다.

 

또한 이러한 Table과 Column에 대해 오랜 기간동안 순차적으로 만들어지다보니,

표준화가 되어 있지않거나, 관리가 안되는 Table들이 있어 많은 문제가 있습니다.

 

이러한 Table 및 Column에 Comment를 입력해두어 최대한 사용하는데 있어서, 알아보기 쉽게 해야하는데요.

 

Database의 Table과 Column은 다른 프로그래밍 소스코드의 변수와 다르게,

한번 정하면 그 값을 유지해야하기 때문에 표준화와 설명이 중요하다 생각이 됩니다.

 

오늘은 MsSQL 각 Table / Column에 대해 Comment를 입력/삭제, 조회 하는 법에 대해서 알아보도록 하겠습니다.


MsSQL - Table Comment

Table Comment 추가 / 변경 / 삭제

-- [Table Comment Add]
exec sp_addextendedproperty 'MS_Description', '[Table Comment]', 'USER', [Schema], 'TABLE', [TableName]

-- [Table Comment Update]
exec sp_updateextendedproperty 'MS_Description', '[Table Comment]', 'USER', [Schema], 'TABLE', [TableName]

-- [Table Comment Drop]
exec sp_dropextendedproperty 'MS_Description',  'USER', [Schema], 'TABLE', [TableName]
  1. sp_addextendedproperty 
    1. 테이블 코멘트 추가
    2. [TableComment], [Schema], [TableName] 을 입력하여 해당 테이블의 코멘트를 추가
    3. 테이블당 하나의 코멘트만 추가 가능
  2. sp_updateextendedproperty
    1. 테이블 코멘트 변경
    2. [TableComment], [Schema], [TableName] 을 입력하여 해당 테이블의 코멘트를 변경
  3. sp_dropextendedproperty
    1. 테이블 코멘트 삭제
    2. [Schema], [TableName] 을 입력하여 해당 테이블의 코멘트를 삭제

Table Comment 조회

-- [Table Comment Select]
select * 
  from ::fn_listextendedproperty(null, 
                                 'SCHEMA', 
                                 '[Schema]', 
                                 'TABLE', 
                                 '[TableName]', 
                                 default, 
                                 default)
반응형

MsSQL - Column Comment

Column Comment 추가 / 변경 / 삭제

-- [Column Comment Add]
exec sp_addextendedproperty 'MS_Description', '[Column Comment]', 'USER', [Schema], 'TABLE', [TableName], 'COLUMN', [ColumnName]

-- [Column Comment Update]
exec sp_updateextendedproperty 'MS_Description', '[Column Comment]', 'USER', [Schema], 'TABLE', [TableName], 'COLUMN', [ColumnName]

-- [Column Comment Drop]
exec sp_dropextendedproperty 'MS_Description',  'USER', [Schema], 'TABLE', [TableName], 'COLUMN', [ColumnName]
  1. sp_addextendedproperty 
    1. 컬럼 코멘트 추가
    2. [TableComment], [Schema], [TableName], [ColumnName] 을 입력하여 해당 컬럼의 코멘트를 추가
    3. 컬럼당 하나의 코멘트만 추가 가능
  2. sp_updateextendedproperty
    1. 컬럼 코멘트 변경
    2. [TableComment], [Schema], [TableName], [ColumnName] 을 입력하여 해당 컬럼의코멘트를 변경
  3. sp_dropextendedproperty
    1. 컬럼 코멘트 삭제
    2. [Schema], [TableName], [ColumnName] 을 입력하여 해당 컬럼의 코멘트를 삭제

Column Comment 조회

-- [Column Comment Select]
select * 
  from ::fn_listextendedproperty(null, 
                                 'SCHEMA', 
                                 '[Schema]', 
                                 'TABLE', 
                                 '[TableName]', 
                                 'COLUMN', 
                                 default)

Outro

테이블과 컬럼의 코멘트에 대한 추가/변경/삭제 그리고 조회에 대해서 알아봤습니다.

 

기본적으로 잘 정리해두고 메모해 두는것이 앞으로의 업무를 위해서 좋은데요.

꼭 코멘트를 추가해두는 것을 생활화하였으면 합니다.

 

감사합니다.

반응형