본문 바로가기
㏈ª By β┖υΕJini/MS-SQL

VIEW 사용시 데이터 갱신이 안될경우.....

by ㏈ª ☞ β┖υΕJini.κR 2010. 11. 10.

사용자 삽입 이미지


이번에는 뷰에 대해서 간략하게 정리 해보았습니다.  뷰를 사용 할때 테이블의 컬럼이

추가 되었는데 데이터가 안나오는 경우를 보셨을 것입니다. 테스트를 통해 한번 알아 보겠습니다.


USE TESTDB

--테스트테이블생성

CREATE TABLE [TABLE1]

(

       [COL1] INT,

       [COL2] INT,

       [COL3] INT,

       [COL4] INT

)

-- 테스트데이터입력

INSERT INTO [TABLE1] VALUES (1,2,3,4)

 

-- 현재데이터조회

SELECT * FROM [VIEW1]

 

 

-- 뷰생성

CREATE VIEW [VIEW1] AS SELECT * FROM [TABLE1]

 

 

-- 테이블컬럼추가

ALTER TABLE TABLE1 ADD [COL5] INT DEFAULT 0 NOT NULL

 

-- 조회

SELECT * FROM [VIEW1]
테이블의 컬럼을 추가 했지만 뷰의 데이터는 이전 테이블의 데이터만

보여 지는걸 알수 있습니다.

 1.jpg

-- 실제테이블조회

SELECT * FROM [TABLE1]

실제 테이블은 컬럼이 추가 되고 데이터가 정상적으로 들어가

있는걸 알수 있습니다.

 2.jpg

 

결론

뷰의 경우 SELECT * 를 사용 하여 만들고

테이블 컬럼을 추가 하게 되면 메타 데이터 갱신이 되지 않아

이전 컬럼의 데이터만 불러 오게 됩니다.

 

-- 뷰메타데이터갱신

EXEC SP_REFRESHVIEW [VIEW1]

 

-- 뷰조회

SELECT * FROM [VIEW1]

2.jpg