안규 공부방

MS-SQL > Alter Table

등록일 : 2017-06-30 18:46 조회수 : 93,354

1. 열 추가
    alter table zipcode add TEST_COL varchar(30) null

2. 열 삭제
    alter table zipcode DROP COLUMN TEST_COL 

3. 칼럼 변경 (test_col -> test1_col)
    Exec sp_rename 'zipcode.test_col','test1_col' 

4. 칼럼 길이조정 예제

    alter table 테이블명
    alter column 칼럼명 varchar(100);
    (칼럼명 varchar 형을 varchar(100) 으로 변경)

5. 데이터 잘라지는 경우 처리 방법 

    alter table test_table
    alter column test_column varchar(2);

    이런식으로 했는데...

    만약 기존에 test_column 이 varchar(10) 이었고

    이미 저장된 값이 3 이상일 경우 저 위의 명령어는

    String or binary data would be truncated.
    The statement has been terminated.

    되게 됩니다.

    이걸 무시하고 그냥 alter 시킬수 있는지요.

    예를들어 기존값이 'abcdefg' 라고 되어있고 varchar(2) 로 alter 할때

    자동으로 'ab' 로 바뀌게 한다던가...

    -------------------------------------------------------------

    set ansi_warnings 옵션을 off 시키시고 하시면 됩니다.
    
    -- 준비
    create table test_table (test_column varchar(10))
    insert test_table values('1234567890')
    
    -----------------------------------
    -- 여기부터

    set ansi_warnings off
    alter table test_table
    alter column test_column varchar(2);

    -----------------------------------
    -- 테스트
    select * from test_table
    -----------------------------------
    -- 결과
    test_column 
    -----------------------------------
    12

6. identity 설정

   ALTER TABLE LookupStates ADD Id int IDENTITY(1,1) PRIMARY KEY not null
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.