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

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

by BLUEJINI.KR 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