뷰의 생성 구문은 아래와 같습니다.
CREATE VIEW [ < database_name > . ] [ < owner > . ] view_name [ ( column [ ,...n ] ) ]
[ WITH < view_attribute > [ ,...n ] ]
AS
select_statement
[ WITH CHECK OPTION ]
< view_attribute > ::=
{ ENCRYPTION | SCHEMABINDING | VIEW_METADATA }
전혀 재미 없지요? ^_^
찬찬히 샘플로 알아보실거니 물론 걱정 안하시겠져? ^_^
USE pubs
|
간단한 뷰의 생성 샘플 입니다.
뷰의 생성 구문을 보실 수 있습니다. ^_^
시스템 저장 프로시져로 특정 개체의 생성 구문을 조회하는 것이 있었지요? ^_^
sp_helptext titles_view
|
자 위처럼 해 보시문???
뷰 생성 구문이 보일 겁니다. ^_^
만약 정보를 숨기기 위한 뷰라면? 조심 하셔야 겠지요?
보안상의 문제가 있을 뷰를 생성 하실 경우는
뷰에대한 암호화 옵션을 주셔서 뷰 생성 구문을 숨기실 수 있습니다.
USE pubs --뷰를 생성후 암호화된 뷰의 생성구문을 보려 하면?
|
"개체 주석을 암호화했습니다. "
라는 메세지와 함께 뷰 생성 구문을 보실 수 없으실 겁니다.
이때는 반드시 생성하신분이 뷰 생성 스크립트를 백업을 안전한 곳에 해 두셔야 겠지요?
다음은 Check 옵션 입니다.
USE pubs
|
이런 경우를 생각해 봅시다.
위의 뷰는 뷰의 정의대로 state가 'CA'인 사람의 정보만 나타날듯 하지요?
네. 맞습니다. 그런데...
만약 state가 'CA'인 사람의 데이터를 수정해서 'OR'이라는 곳에 거주하게 한다면?
이게 가능할까요???
SELECT * FROM CAonly
|
답을 보셨나요? ^_^ 넵!!! 수정 됩니다.!!!!!
이런 황당할데가!!!!
그럼 어떻게 이런 수정 작업이 불가하게 해야 할까요!!!!
이럴때 사용하는것이 바로 WITH CHECK OPTION 입니다.
USE pubs --뷰 생성 --CA를 OR로 변화 시키려 하면?
|
WITH CHECK OPTION이 걸려 있어서 수정이 불가하다는 메세지를 볼 것이다.
다른 뷰 생성의 옵션들은 찬찬히 설명을 드리지요. ^_^
아울러 뷰에 대한 정보를 보고 싶으시면???
엔터프라이즈 관리자 에서는
DB선택 -> 뷰 선택 -> 해당 뷰 선택후 등록정보 하면?
뷰에대한 정보를 보실 수 있으며...
질의 분석기에서 정보를 보시려면?
sp_help CAonly
|
이렇게 뷰에 대한 정보를 보실 수 있습니다.
다음은 뷰 수정에 대해서 보시지요. ^_^
코난님의 SQL SERVER2000 강좌입니다.(SQLER.PE.KR )