참조 사이트 : http://msdn.microsoft.com/ko-kr/library/ms180047.aspx

'user','dbo' 요부분은 환경에 맞도록 수정해야 함~~~..

::fn_listextendedproperty 함수 사용시 컬럼명도 같이 넣어야 해서.. 이리저리 찾아서.

@D_CodeType = 'List' 도 만들어 놨어욤^^.

========================================================

DECLARE @D_CodeType VARCHAR(12);
 DECLARE @D_TableName VARCHAR(100);
 DECLARE @D_ColumnName VARCHAR(100);
 DECLARE @D_Value VARCHAR(500);
 DECLARE @D_ColumnRefValue1 VARCHAR(100);
 DECLARE @D_ColumnREFValue2 VARCHAR(100);
 
 SET @D_CodeType = 'D';--S(C/U)/R/D/List
 SET @D_TableName = 'DSCTB_LawInfo';
 SET @D_ColumnName = 'LawDate';
 SET @D_Value = '소송시작일';
 
 SET @D_ColumnRefValue1 = null;
 SET @D_ColumnREFValue2 = null;
 
 IF(ISNULL(@D_ColumnName,'') <> '')
 BEGIN
  SET @D_ColumnRefValue1 = 'column';
  SET @D_ColumnREFValue2 = @D_ColumnName;
 END

 IF(@D_CodeType = 'S')
 BEGIN
  BEGIN TRY -- 생성개념으로, 이미 없는데 업데이트하면 에러발생~~
   exec sp_addextendedproperty 'MS_Description',@D_Value,'user','dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2
  END TRY
  BEGIN CATCH
   exec sp_updateextendedproperty 'MS_Description',@D_Value,'user','dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2
  END CATCH
 END
 ELSE IF(@D_CodeType = 'D')
 BEGIN
  BEGIN TRY -- 삭제 없어도 에러발생^^..
   exec sp_dropextendedproperty 'MS_Description','user','dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2
  END TRY
  BEGIN CATCH
   SELECT '삭제항목 없음'
  END CATCH
 END
 ELSE IF(@D_CodeType = 'R')
 BEGIN -- 기본적인 조회인데.. 값을 다 넣어야 함.. 귀차니즘.
  SELECT *
  FROM ::fn_listextendedproperty(NULL, 'user', 'dbo', 'table',@D_TableName, @D_ColumnRefValue1, @D_ColumnREFValue2)
 END
 ELSE IF(@D_CodeType = 'List')
 BEGIN -- 자잔.. 테이블 명만 넣으면..해당컬럼몽땅나옴. sp_help 명령어처럼(Alt+F1) 화면같이 해돌라고 하지말고 필요하신분이 수정하삼^^.

-- 아 왠지 만들어서 Cltr+F1 예약하면 편한듯한 - -

  SELECT P.name, p.value, i.name , c.name
  FROM sys.extended_properties AS p
  INNER JOIN sys.objects AS i
  ON p.major_id = i.object_id
  LEFT OUTER join sys.syscolumns AS c
  ON p.major_id = c.id
   AND p.minor_id = c.colorder
  WHERE i.name = @D_TableName
  ORDER BY C.colorder ASC
 END

==============================

헉,.. tistory로 올라가면 탭이 공백으로 바뀌네욤^^.

Posted by 말없제이
,