locked
Computed Column 생성 방법 RRS feed

  • 질문

  • 간단하게 다른 Column 값에 의해 값이 결정되는 Computed Column 생성 방법을 알려주세요.

    2011년 9월 26일 월요일 오전 7:39

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Computed Column 생성 방법에 대한 답변을 드리겠습니다.

     

    Step  1 : CASE WHEN

    아래의 문을 이용해서 특정 컬럼 값에 따라 Computed Column에 값을 입력할 수 있습니다.

    CASE WHEN <Expression>

          THEN <ResultExpression>

          ELSE <ElseResultExpression>

    END

     

    Step 2 : Query Statement

    --기존 테이블이 존재 하는지 체크 존재하면 삭제를 합니다.

    IF OBJECT_ID('TestTable1', 'U') IS NOT NULL

      DROP TABLE [dbo].[TestTable1]

    GO

     

    -- Computed Column 포함된 테이블을 생성합니다.

    CREATE TABLE [dbo].[TestTable1]

      (

      [No] INT NOT NULL,

      [Department] VARCHAR(50) NOT NULL,

      [Level] Int NOT NULL,

      [Position] AS

        CASE WHEN [Level] = 1 THEN 'deputy'

          When [Level] = 2 Then 'section chief[head]'

          WHen [Level] = 3 Then 'head of department'     

        END

    )

    GO

     

    --데이타를 입력 합니다.

    INSERT INTO [TestTable1] ([No], [Department], [Level])

    SELECT 1, 'Development', '1' UNION ALL

    SELECT 2, 'Development', '2' UNION ALL

    SELECT 3, 'Human Resources', '1' UNION ALL

    SELECT 4, 'Human Resources', '3' UNION ALL

    SELECT 5, 'Marketing', '3'

    GO

     

     

    --입력된 테이타를 확인합니다.

    SELECT * FROM [TestTable1]

    GO

     

    Step 3 : Result

     

    Level Column에 입력되는 값에 따라 Computed Column에는 다음과 같이 입력이 됩니다.

    1 -> deputy

    2 -> section chief[head]

    3 -> head of department

     

    참고 자료

    CASE(Transact-SQL)

    http://msdn.microsoft.com/ko-kr/library/ms181765.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

     

    • 답변으로 표시됨 김도남 2011년 9월 27일 화요일 오전 5:30
    2011년 9월 26일 월요일 오전 7:51
    중재자