mssql view 예제

예: 이 예제에서는 위의 행 삽입 예제에서 방금 추가한 DetailsView 보기에서 마지막 행을 삭제합니다. SQL Server 데이터베이스에서 만들 수 있는 개체 중 하나는 SELECT 문이 데이터 집합을 반환하는 방법과 유사하게 하나 이상의 테이블(또는 다른 보기)에서 데이터를 검색하는 가상 테이블인 뷰입니다. SQL Server는 기본 테이블 스키마를 추상화하고 일반 테이블과 같은 행과 열에 데이터를 표시합니다. 따라서 사용자와 응용 프로그램은 테이블처럼 뷰를 쿼리할 수 있지만 뷰는 볼 수 있는 데이터와 해당 데이터가 참조되는 방법을 정의합니다. 뷰를 만드는 사용자가 뷰의 기반이 되는 테이블이나 테이블의 소유자가 아닌 경우 테이블 소유자는 뷰 작성자가 테이블에서 선택할 수 있는 권한을 최소한 부여해야 합니다. 뷰를 사용하여 두 테이블에 조인을 적용할 수도 있습니다. 이 경우 사용자는 두 개의 테이블이 아닌 하나의 보기만 볼 수 있으며 사용자가 발행해야 하는 SQL 문이 훨씬 더 간단해집니다. 다음 두 테이블이 있다고 가정해 보겠습니다: 예를 들어 뷰에 열을 더 추가하거나 일부 열을 제거하려는 경우 CREATE VIEW 키워드 다음에 OR ALTER 키워드를 사용할 수 있습니다. 뷰에는 테이블의 모든 행이 포함하거나 테이블에서 행을 선택할 수 있습니다. 뷰를 만들기 위해 작성된 SQL 쿼리에 의존하는 하나 또는 여러 테이블에서 뷰를 만들 수 있습니다.

이 예제에서 사용자 로켓은 직원 테이블에 뷰(view_dept_201)를 만들어 부서가 201인 행에만 대한 액세스를 제한합니다: INSERT 쿼리가 작동하려면 기본 테이블의 모든 NOT NULL 열이 뷰에 포함되어야 합니다. 뷰가 분할된 뷰인 경우 특정 제한 사항에 따라 뷰를 업데이터 할 수 있습니다. 필요한 경우 Database Engine은 로컬 분할된 뷰를 모든 참여 테이블과 뷰가 SQL Server의 동일한 인스턴스에 있는 뷰로 구분하고 분할된 뷰를 뷰의 테이블 중 하나 이상이 있는 뷰로 구분합니다. 다른 서버 또는 원격 서버에 상주할 수 있습니다. 보기에 대 한 열 목록을 명시적으로 지정 하지 않으면 SQL Server SELECT 문에서 파생 된 열 목록을 사용 합니다. 다음 예제에서는 기본 제공 함수를 포함하는 뷰 정의를 보여 주었습니다. 함수를 사용할 때는 파생 된 열에 대 한 열 이름을 지정 해야 합니다. 멤버 테이블 중 하나에 트리거 또는 ON UPDATE CASCADE/SET NULL/SET 기본값 또는 삭제 CASCADE/SET NULL/SET 기본 제약 조건이 포함된 경우 뷰를 수정할 수 없습니다. VIEW_METADATA로 만든 뷰의 경우 찾아보기 모드 메타데이터는 결과 집합의 뷰에서 열을 설명할 때 기본 테이블 이름이 아닌 뷰 이름을 반환합니다.

분할된 뷰에 대한 INSERT 작업은 고유 식별자 열에 대한 NEWID() 값을 제공해야 합니다. 고유 식별자 열에 대한 모든 UPDATE 작업은 DEFAULT 키워드를 사용할 수 없으므로 NEWID()를 값으로 제공해야 합니다. 열 이름 후 명령문은 With SCHEMABINDING 절을 지정하여 뷰에 영향을 미치는 경우 테이블을 업데이트할 수 없도록 합니다. 다음은 AS 키워드와 실제 쿼리입니다. 분할된 뷰에 대한 INSERT, UPDATE 및 DELETE 작업은 동일한 뷰또는 명령문의 멤버 테이블이 있는 경우 허용되지 않습니다. VIEW_METADATA를 사용하여 뷰를 만들면 타임스탬프 열을 제외한 모든 열이 삽입 대신 또는 업데이트 트리거 대신 있는 경우 업데이트 할 수 있습니다.

Previous post

masonry 예제

Next post

opencv threshold 예제

sovab-presse

sovab-presse