[MSSQL] 컬럼 설명(COMMENT) 추가, 수정 방법
- 데이터베이스/MSSQL
- 2022. 4. 13.
SQL Server에서 테이블, 칼럼의 코멘트를 추가하거나 변경하기 위해서는 시스템 저장 프로시저를 사용하면 된다. 시스템 저장 프로시저는 SP_ADDEXTENDEDPROPERTY(추가), SP_UPDATEEXTENDEDPROPERTY(수정), SP_DROPEXTENDEDPROPERTY(삭제) 3개의 프로시저를 사용한다. 칼럼에 코멘트를 추가한 후에는 수정, 삭제 프로시저만 사용할 수 있다.
목차 |
칼럼 코멘트 추가, 수정, 삭제
/* 컬럼 코멘트 추가 */
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '직원번호', 'USER', dbo, 'TABLE', emp, 'COLUMN', empno
/* 컬럼 코멘트 수정 */
EXEC SP_UPDATEEXTENDEDPROPERTY 'MS_Description', '사원번호', 'USER', dbo, 'TABLE', emp, 'COLUMN', empno
/* 컬럼 코멘트 삭제 */
EXEC SP_DROPEXTENDEDPROPERTY 'MS_Description', 'SCHEMA', dbo, 'TABLE', emp, 'COLUMN', empno
칼럼 코멘트를 추가하는 방법이 조금 복잡해 보이지만 필요한 항목만 변경하여 사용하면 된다.
코멘트를 추가한 후에는 수정 및 삭제만 가능하다.
칼럼 코멘트 일괄 추가 및 조회
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '직원번호', 'USER', dbo, 'TABLE', emp, 'COLUMN', empno
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '직원명', 'USER', dbo, 'TABLE', emp, 'COLUMN', ename
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '직군', 'USER', dbo, 'TABLE', emp, 'COLUMN', job
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '관리자', 'USER', dbo, 'TABLE', emp, 'COLUMN', mgr
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '입사일자', 'USER', dbo, 'TABLE', emp, 'COLUMN', hiredate
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '급여', 'USER', dbo, 'TABLE', emp, 'COLUMN', sal
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '보너스', 'USER', dbo, 'TABLE', emp, 'COLUMN', comm
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '부서코드 ', 'USER', dbo, 'TABLE', emp, 'COLUMN', deptno
칼럼 코멘트 조회
SELECT *
FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'dbo', 'TABLE', 'emp', 'COLUMN', DEFAULT)
칼럼 코멘트가 정상적으로 추가된 것을 확인할 수 있다.
테이블 코멘트 추가 및 조회
/* 테이블 코멘트 추가 */
EXEC SP_ADDEXTENDEDPROPERTY 'MS_Description', '직원정보', 'USER', dbo, 'TABLE', emp
/* 테이블 코멘트 수정 */
EXEC SP_UPDATEEXTENDEDPROPERTY 'MS_Description', '사원정보', 'USER', dbo, 'TABLE', emp
/* 테이블 코멘트 삭제 */
EXEC SP_DROPEXTENDEDPROPERTY 'MS_Description', 'SCHEMA', dbo, 'TABLE', emp
테이블 코멘트 추가도 칼럼 코멘트 추가와 동일한 프로시저를 사용하며, 프로시저 마지막 인자의 칼럼명을 빼면 테이블 코멘트를 추가하는 명령이다.
테이블 코멘트 조회
SELECT *
FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'dbo', 'TABLE', 'emp', DEFAULT, DEFAULT)
▼▼▼▼ 아래의 포스팅에 emp 테이블 생성 스크립트가 있습니다. ▼▼▼▼