뷰를 통해 데이터 수정
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 기본 테이블의 데이터를 수정할 수 있습니다.
시작하기 전에
제한 사항
- CREATE VIEW(Transact-SQL)에서 '업데이트할 수 있는 뷰' 섹션을 참조하세요.
사용 권한
수행 중인 동작에 따라 대상 테이블에 대한 UPDATE, INSERT 또는 DELETE 권한이 필요합니다.
SQL Server Management Studio 사용
뷰를 통해 테이블 데이터를 수정하려면
개체 탐색기에서 뷰가 포함된 데이터베이스를 확장한 다음 뷰를 확장합니다.
뷰를 마우스 오른쪽 단추로 클릭하고 상위 200개 행 편집을 선택합니다.
수정할 행을 반환하려면 SQL 창에서 SELECT 문을 수정해야 할 수 있습니다.
결과 창에서 변경하거나 삭제할 행을 찾습니다. 행을 삭제하려면 행을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다. 하나 이상의 열에서 데이터를 변경하려면 열에서 데이터를 수정합니다.
Important
뷰가 여러 개의 기본 테이블을 참조하는 경우 행을 삭제할 수 없습니다. 단일 기본 테이블에 속하는 열만 업데이트할 수 있습니다.
행을 삽입하려면 행의 끝까지 아래로 스크롤하고 새 값을 삽입합니다.
Important
뷰가 여러 개의 기본 테이블을 참조하는 경우 행을 삽입할 수 없습니다.
Transact-SQL 사용
뷰를 통해 테이블 데이터를 업데이트하려면
개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.
표준 도구 모음에서 새 쿼리를 클릭합니다.
다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 다음은 뷰
HumanResources.vEmployeeDepartmentHistory
의 열을 참조하여 특정 직원의StartDate
및EndDate
열을 변경하는 예시입니다. 이 뷰는 두 테이블의 값을 반환합니다. 수정하는 열이 기본 테이블 중 하나에서만 있으므로 이 문은 성공합니다.USE AdventureWorks2022; GO UPDATE HumanResources.vEmployeeDepartmentHistory SET StartDate = '20110203', EndDate = GETDATE() WHERE LastName = N'Smith' AND FirstName = 'Samantha'; GO
자세한 내용은 UPDATE(Transact-SQL)를 참조하세요.
뷰를 통해 테이블 데이터를 삽입하려면
개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.
표준 도구 모음에서 새 쿼리를 클릭합니다.
다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 다음 예에서는 뷰
HumanResouces.Department
의 관련 열을 지정하여 기본 테이블HumanResources.vEmployeeDepartmentHistory
에 새 행을 삽입합니다. 단일 기본 테이블의 열만 지정하고 기본 테이블의 다른 열에 기본값이 있으므로 이 문은 성공합니다.USE AdventureWorks2022; GO INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) VALUES ('MyDepartment', 'MyGroup'); GO
자세한 내용은 INSERT(Transact-SQL)를 참조하세요.