본문 바로가기

SQL/MS-SQL

뷰변경

이번에 소개해 드릴 내용은? 뷰의 변경입니다. ^_^

뷰의 변경역시 SQL서버의 변경 구문인 ALTER 구문을 이용해 사용됩니다.

 

여기서 잠깐!

그냥 뷰 생성 했덨는데여.....

뷰 지우고 다시 만드는게 더 빠르지 않나여~~~~

 

넵 그말도 맞습니다.

하지만 이런 경우를 생각해 보세요.

 

--뷰 생성
CREATE VIEW All_authors (au_fname, au_lname, address, city, zip)
AS
SELECT au_fname, au_lname, address, city, zip
FROM pubs..authors
GO


--Public역할(일종의 사용자 그룹이라고 생각 하세요)에
--뷰를 SELECT할 수 있는 권한 부여
--GRANT는 SELECT, UPDATE등의 권한을 부여하는 명령 입니다.
--추후에 배우게 되실 겁니다. ^_^
GRANT SELECT ON All_authors TO public
GO

--이때 DROP하고 뷰를 재생성 하면?

 

어떤 경우가 생겨 날까요? ^_^

네.. 예상하시는 대로 GRANT구문으로 권한을 준 뷰의 모든 내용이 사라지겠지요? ^_^

만약 특정 뷰에 여러가지 복잡한 사용자 권한 부여나 역할에 대한 권한 부여가

붙어 있다면!!!!!!  다시 권한 부여하기 정말 귀찮은 일이겠지요??

 

이럴때!!! ALTER 구문을 사용하시면?

뷰의 권한등을 그대로 유지하면서!!! 뷰에대한 변경이 가능해 지는 장점이 있습니다.!!

 

ALTER VIEW All_authors (au_fname, au_lname, address, city, zip)
AS
SELECT au_fname, au_lname, address, city, zip
FROM pubs..authors
WHERE state = 'UT'
GO

 

자 어렵지 않으시지요? ^_^

그럼 다음으로 뷰 삭제를 보시겠습니다. ^_^

코난님의 SQL SERVER2000 강좌입니다.(SQLER.PE.KR )