티스토리 뷰
✅ MSSQL 테이블 생성 시 주석(Comment) 넣기
MSSQL에서 테이블 생성 시 주석(설명)을 추가하는 방법은 크게 두 가지가 있습니다.
🔹 1️⃣ COMMENT 문이 없기 때문에 EXEC sp_addextendedproperty 사용
MSSQL에서는 MySQL처럼 COMMENT 문을 직접 사용할 수 없고, 대신 **확장 속성(Extended Properties)**을 사용하여 주석을 추가합니다.
✅ 예제: 테이블 및 컬럼에 주석 추가
-- 테이블 생성
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY, -- 직원 ID
Name NVARCHAR(100) NOT NULL, -- 직원 이름
Age INT CHECK (Age >= 18), -- 나이는 18세 이상
Salary DECIMAL(10,2) -- 급여
);
-- ✅ 테이블에 주석 추가
EXEC sp_addextendedproperty
@name = 'MS_Description',
@value = '직원 정보를 저장하는 테이블',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees';
-- ✅ 컬럼에 주석 추가 (각 컬럼별)
EXEC sp_addextendedproperty
@name = 'MS_Description',
@value = '직원의 고유 ID',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees',
@level2type = 'Column', @level2name = 'EmployeeID';
EXEC sp_addextendedproperty
@name = 'MS_Description',
@value = '직원의 이름',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees',
@level2type = 'Column', @level2name = 'Name';
EXEC sp_addextendedproperty
@name = 'MS_Description',
@value = '직원의 나이 (18세 이상)',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees',
@level2type = 'Column', @level2name = 'Age';
EXEC sp_addextendedproperty
@name = 'MS_Description',
@value = '직원의 급여 (단위: 원)',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees',
@level2type = 'Column', @level2name = 'Salary';
✔ sp_addextendedproperty를 사용하면 테이블 및 컬럼에 주석을 추가할 수 있음
🔹 2️⃣ 주석 확인하기 (sys.extended_properties 활용)
추가한 주석을 확인하려면 sys.extended_properties 뷰를 조회하면 됩니다.
✅ 특정 테이블의 모든 주석 확인
SELECT
obj.name AS TableName,
col.name AS ColumnName,
ep.value AS Comment
FROM sys.extended_properties ep
JOIN sys.objects obj ON ep.major_id = obj.object_id
LEFT JOIN sys.columns col ON ep.major_id = col.object_id AND ep.minor_id = col.column_id
WHERE obj.name = 'Employees';
✅ 특정 컬럼의 주석 확인
SELECT value
FROM sys.extended_properties
WHERE major_id = OBJECT_ID('Employees')
AND minor_id = (SELECT column_id FROM sys.columns WHERE name = 'Salary' AND object_id = OBJECT_ID('Employees'));
🔹 3️⃣ 주석 수정 (sp_updateextendedproperty)
기존 주석을 변경하려면 sp_updateextendedproperty를 사용합니다.
EXEC sp_updateextendedproperty
@name = 'MS_Description',
@value = '직원의 월급 (단위: 원)',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees',
@level2type = 'Column', @level2name = 'Salary';
🔹 4️⃣ 주석 삭제 (sp_dropextendedproperty)
주석을 제거하려면 sp_dropextendedproperty를 사용합니다.
EXEC sp_dropextendedproperty
@name = 'MS_Description',
@level0type = 'Schema', @level0name = 'dbo',
@level1type = 'Table', @level1name = 'Employees',
@level2type = 'Column', @level2name = 'Salary';
🔹 5️⃣ 결론
방법 설명 사용 예시
sp_addextendedproperty | 테이블 및 컬럼에 주석 추가 | ✅ 추천 |
sys.extended_properties 조회 | 주석 확인 | ✅ 조회 가능 |
sp_updateextendedproperty | 주석 수정 | ✅ 사용 가능 |
sp_dropextendedproperty | 주석 삭제 | ✅ 삭제 가능 |
📌 MSSQL은 COMMENT 문을 지원하지 않으므로 sp_addextendedproperty를 사용하여 주석을 추가해야 함
📌 주석을 수정하려면 sp_updateextendedproperty, 삭제하려면 sp_dropextendedproperty 사용 🚀
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- spring
- oracle
- getter
- @ExceptionHandler
- element위치
- draw.io
- ul li로 테이블
- 여러 컬럼 update
- CSS
- 진열사랑
- JQuery
- springboot
- 프로젝트명변경
- setter
- sumifs
- PostgreSQL
- devtools
- Keycode
- DatePicker
- QueryDSL
- 정규식
- $.each
- caniuse
- object key
- 전후방탐색
- Javascript
- excel
- $.extend
- lombok
- border-collapse
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함