Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server에서 뷰(VIEW) 생성·수정·삭제하는 방법

이 글에서는 SQL Server에서 뷰(VIEW)를 생성하고, 수정하고, 삭제하는 방법을 문법과 예제를 통해 자세히 설명합니다.

SQL Server에서 뷰(VIEW)란?

뷰(VIEW)는 SQL Server에 실제로 존재하지 않는 가상 테이블입니다. 하나 이상의 테이블을 조합하는 쿼리를 기반으로 생성되며, 복잡한 쿼리를 단순화하고 데이터 접근 권한을 관리하는 등 보안을 강화하는 데 유용하게 활용됩니다.

뷰 생성하기 (CREATE VIEW)

문법

CREATE VIEW [schema_name.]view_name AS
[WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }]
SELECT expressions
FROM tables
[WHERE conditions];

매개변수 설명

  • schema_name: 뷰가 속한 스키마(네임스페이스)의 이름입니다.
  • view_name: 생성하려는 뷰의 이름입니다.
  • ENCRYPTION: sys.syscomments에 저장되는 뷰 정의 텍스트를 암호화합니다.
  • SCHEMABINDING: 기반이 되는 테이블의 구조가 뷰에 영향을 주지 않도록 임의로 변경되지 못하게 합니다.
  • VIEW_METADATA: 뷰에 대한 메타데이터 정보를 제공하도록 SQL Server에 지시합니다.
  • expressions: 뷰에 포함할 계산된 열이나 값입니다.
  • tables: 뷰를 정의하는 테이블입니다. FROM 절에는 최소한 하나의 테이블이 반드시 있어야 합니다.
  • WHERE conditions: 선택 사항으로, 뷰에 표시되기 위해 레코드가 충족해야 하는 조건입니다.

예제

CREATE VIEW sp_htk AS
SELECT sanpham.id_sanpham, sanpham.ten_sanpham, hangtonkho.chatluong
FROM sanpham
INNER JOIN hangtonkho
ON sanpham.id_sanpham = hangtonkho.id_sanpham
WHERE sanpham.id_sanpham >= 1000;

위의 CREATE VIEW 문은 SELECT 문의 결과 집합을 기반으로 하는 가상 테이블을 생성하며, 이 뷰의 이름은 sp_htk입니다.

이제 아래와 같이 일반 테이블을 조회하듯이 뷰를 조회할 수 있습니다.

SELECT *
FROM sp_htk;

뷰 수정하기 (ALTER VIEW)

SQL Server에서는 뷰를 삭제한 후 새로 만들 필요 없이 ALTER VIEW 명령만으로 기존 뷰를 수정할 수 있습니다.

문법

ALTER VIEW [schema_name.]view_name AS
[WITH { ENCRYPTION | SCHEMABINDING | VIEW_METADATA }]
SELECT expressions
FROM tables
[WHERE conditions];

예제

ALTER VIEW sp_htk AS
SELECT sanpham.ten_sanpham, hangtonkho.soluong
FROM sanpham
INNER JOIN hangtonkho
ON sanpham.id_sanpham = hangtonkho.id_sanpham
WHERE sanpham.id_sanpham >= 500
AND sanpham.id_sanpham <= 1000;

위의 ALTER VIEW 문은 sp_htk라는 이름의 뷰를 삭제하지 않고 그 내용을 업데이트합니다. 단, 수정 명령을 실행하려면 해당 뷰가 미리 존재해야 한다는 점에 유의하세요.

뷰 삭제하기 (DROP VIEW)

문법

DROP VIEW view_name;

매개변수 설명

  • view_name: 삭제하려는 뷰의 이름입니다.

예제

DROP VIEW sp_htk;

위의 DROP VIEW 문은 SQL Server에서 sp_htk라는 이름의 뷰를 삭제합니다.