SQL Server 표 에 새 열 을 추가 하고 설명 을 추가 합 니 다.

주:sql server 2005 및 이상 지원.버 전 은 지원 되 지 않 을 것 으로 예상 합 니 다(작업 환경 2005,2008).
작업 이 필요 합 니 다.SQL Server 기 존 표 에 새 열 을 추가 하고 설명 을 추가 해 야 합 니 다.다음 과 같은 저장 과정 이 있 습 니 다.(저장 과정 을 첨부 한 다음 설명)

/********    **********
  :            
  :
exec [SetColumnInfo] '  ', '  ', N'   ,  ','   {  :NVARCHAR(50)}','    {  :NULL}'
******************/
CREATEPROCEDURE [dbo].[SetColumnInfo]
@tableName NVARCHAR(100) --  
,@columnName NVARCHAR(100) --  
,@columnInfo NVARCHAR(2000) --   ,  
,@columnType NVARCHAR(100)='NVARCHAR(50)' --      : NVARCHAR(50)
,@columnDefault NVARCHAR(100)='NULL' --       : NULL
as
begin
IFNOTEXISTS (
SELECT *
FROM syscolumns
WHERE id = object_id(@tableName)
AND NAME = @columnName
)
BEGIN
print 'exec:'+('ALTER TABLE ' + @tableName + ' ADD ' + @columnName + '' + @columnType + '' + @columnDefault)
print 'Add['+@columnName+']column'
EXEC ('ALTER TABLE ' + @tableName + ' ADD ' + @columnName + '' + @columnType + '' + @columnDefault)
END
IFEXISTS (
SELECT *
FROM::fn_listextendedproperty('MS_Description', 'SCHEMA' --         
, N'dbo' --    0         
, N'TABLE' --1        
, @tableName --    1         
, N'COLUMN' --2       
, @columnName --    2         
)
)
BEGIN
print 'Edit['+@columnName+']Description'
EXEC sys.sp_updateextendedproperty @name = N'MS_Description' --        
,@value = @columnInfo --          
,@level0type = N'SCHEMA' --         
,@level0name = N'dbo' --    0         
,@level1type = N'TABLE' --1        
,@level1name = @tableName --    1         
,@level2type = N'COLUMN' --2       
,@level2name = @columnName --    2         
END
ELSE
BEGIN
print 'Add['+@columnName+']Description'
EXEC sys.sp_addextendedproperty @name = N'MS_Description' --        
,@value = @columnInfo --          
,@level0type = N'SCHEMA' --         
,@level0name = N'dbo' --    0         
,@level1type = N'TABLE' --1        
,@level1name = @tableName --    1         
,@level2type = N'COLUMN' --2       
,@level2name = @columnName --    2         
END
end
GO
설명:
문장:

SELECT * FROM syscolumns WHERE id = object_id(@tableName) AND NAME = @columnName 
역할:표 에 지정 한 열 이 있 는 지 찾 습 니 다.존재 하면 추가 하면 오류 가 발생 합 니 다.
ALTER TABLE 구문:
ALTER TABLE 문 구 는 기 존 표 에 열 을 추가 하거나 수정 하거나 삭제 하 는 데 사 용 됩 니 다.
표 에 열 을 추가 하려 면 다음 문법 을 사용 하 십시오.

ALTERTABLE table_name ADD column_name datatype 
표 의 열 을 삭제 하려 면 다음 문법 을 사용 하 십시오.

ALTERTABLE table_name DROPCOLUMN column_name 
표 에 열 거 된 데이터 형식 을 바 꾸 려 면 다음 문법 을 사용 하 십시오.

ALTERTABLE table_name ALTERCOLUMN column_name datatype 
속성의 삭제 변경:
fn_list extended property:확장 속성 을 가 져 옵 니 다.속성 이 존재 하 는 지 여 부 를 판단 합 니 다.존재 하지 않 으 면 추가 합 니 다.

sp_updateextendedproperty:필드 설명 업데이트

sp_addextendedproperty:필드 설명 추가

sp_dropextendedproperty:필드 설명 삭제

sp 때문에dropextendedproperty 위의 저장 과정 에 특별한 예제 가 나타 나 지 않 았 습 니 다.

EXECsp_dropextendedproperty 'MS_Description','user',dbo,'table',' ','column',a1
위 에서 말 한 것 은 소 편 이 소개 한 SQL Server 표 에 새 열 을 추가 하고 설명 을 추가 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기