검색결과 리스트
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
1. SchemaBinding
Imagine that you have created a view with out SCHEMABINDING option and you have altered the schema of underlying table (deleted one column). Next time when you run your view, it will fail. Here is when SCHEMABINDING comes into picture. Creating a view with SCHEMABINDING option locks the underlying tables and prevents any changes that may change the table schema.
일반적으로 View를 만들었을 때 참조하는 테이블의 스키마가 변경된다면 그 View를 실행했을 때 에러가 발생한다. 이런 오류를 방지하기 위해 SCHEMABINDING옵션을 주어 View를 만들게 되면 View에서 참조하는 테이블의 스키마는 변경할 수 없게 된다.
Create View MyView With SchemaBinding
AS
SELECT ...
2. Check Option
View를 만들기 위해 WHERE문에서 사용한 컬럼을 수정하지 못하도록 한다.
Create View MyView
AS
SELECT DeptNo, DeptName
FROM Dept
WHERE DeptNo = 20 WITH CHECK OPTION
MyView를 통해 DeptNo 컬럼값을 변경하려 시도한다면 에러가 발생한다.
3. Read Only
View를 만들때 Read Only 옵션을 사용하면 해당 뷰에 어떠한 변경도 수행되지 않는다.
Create View MyView
AS
SELECT DeptNo, DeptName
FROM Dept
WHERE DeptNo = 20 WITH READ ONLY
4. Force or Noforce
View를 생성할 때 참조되는 테이블들이 없으면 View는 생성될 수 없다. Noforce옵션이 기본적으로 사용되기 때문에 별도로 지정하지 않아도 테이블이 없으면 View를 생성할 수 없는 것이고, 때때로 테이블이 없어도 View를 만들려고 한다면 Force옵션을 주어 생성하면 된다.
Create FORCE View MyView
AS
SELECT DeptNo, DeptName
FROM Dept
WHERE DeptNo = 20
참조 : http://it.toolbox.com/blogs/coding-dotnet/schemabinding-option-in-views-14746
참조 : http://develop.sunshiny.co.kr/534, http://develop.sunshiny.co.kr/533
Imagine that you have created a view with out SCHEMABINDING option and you have altered the schema of underlying table (deleted one column). Next time when you run your view, it will fail. Here is when SCHEMABINDING comes into picture. Creating a view with SCHEMABINDING option locks the underlying tables and prevents any changes that may change the table schema.
일반적으로 View를 만들었을 때 참조하는 테이블의 스키마가 변경된다면 그 View를 실행했을 때 에러가 발생한다. 이런 오류를 방지하기 위해 SCHEMABINDING옵션을 주어 View를 만들게 되면 View에서 참조하는 테이블의 스키마는 변경할 수 없게 된다.
Create View MyView With SchemaBinding
AS
SELECT ...
2. Check Option
View를 만들기 위해 WHERE문에서 사용한 컬럼을 수정하지 못하도록 한다.
Create View MyView
AS
SELECT DeptNo, DeptName
FROM Dept
WHERE DeptNo = 20 WITH CHECK OPTION
MyView를 통해 DeptNo 컬럼값을 변경하려 시도한다면 에러가 발생한다.
3. Read Only
View를 만들때 Read Only 옵션을 사용하면 해당 뷰에 어떠한 변경도 수행되지 않는다.
Create View MyView
AS
SELECT DeptNo, DeptName
FROM Dept
WHERE DeptNo = 20 WITH READ ONLY
4. Force or Noforce
View를 생성할 때 참조되는 테이블들이 없으면 View는 생성될 수 없다. Noforce옵션이 기본적으로 사용되기 때문에 별도로 지정하지 않아도 테이블이 없으면 View를 생성할 수 없는 것이고, 때때로 테이블이 없어도 View를 만들려고 한다면 Force옵션을 주어 생성하면 된다.
Create FORCE View MyView
AS
SELECT DeptNo, DeptName
FROM Dept
WHERE DeptNo = 20
참조 : http://it.toolbox.com/blogs/coding-dotnet/schemabinding-option-in-views-14746
참조 : http://develop.sunshiny.co.kr/534, http://develop.sunshiny.co.kr/533
'-- MSSQL' 카테고리의 다른 글
SET LANGUAGE (0) | 2011.02.11 |
---|---|
성능 향상을 위한 query 작성과 tuning (0) | 2011.01.11 |
Hash의 이용 (0) | 2010.11.29 |
OpenRowset "Ad Hoc Distributed Queries" 오류 (0) | 2010.10.12 |
"테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함" 옵션 (0) | 2010.09.30 |
RECENT COMMENT