뷰를 통해 데이터 수정

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 기본 테이블의 데이터를 수정할 수 있습니다.

시작하기 전에

제한 사항

  • CREATE VIEW(Transact-SQL)에서 'Updatable Views' 섹션을 참조하세요.

사용 권한

수행 중인 작업에 따라 대상 테이블에 대한 UPDATE, INSERT 또는 DELETE 권한이 필요합니다.

SQL Server Management Studio 사용

뷰를 통해 테이블 데이터를 수정하려면

  1. 개체 탐색기에서 뷰가 포함된 데이터베이스를 확장한 다음 를 확장합니다.

  2. 보기를 마우스 오른쪽 단추로 클릭하고 상위 200개 행 편집을 선택합니다.

  3. 수정할 행을 반환하려면 SQL 창에서 SELECT 문을 수정해야 할 수 있습니다.

  4. 결과 창에서 변경하거나 삭제할 행을 찾습니다. 행을 삭제하려면 행을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다. 하나 이상의 열에서 데이터를 변경하려면 열에서 데이터를 수정합니다.

    Important

    뷰가 둘 이상의 기본 테이블을 참조하는 경우 행을 삭제할 수 없습니다. 단일 기본 테이블에 속하는 열만 업데이트할 수 있습니다.

  5. 행을 삽입하려면 행의 끝까지 아래로 스크롤하고 새 값을 삽입합니다.

    Important

    뷰가 여러 개의 기본 테이블을 참조하는 경우 행을 삽입할 수 없습니다.

Transact-SQL 사용

뷰를 통해 테이블 데이터를 업데이트하려면

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 다음은 보기HumanResources.vEmployeeDepartmentHistoryStartDate 열을 참조하여 특정 직원의 열 및 EndDate 값을 변경하는 예제입니다. 이 뷰는 두 테이블의 값을 반환합니다. 이 문은 수정되는 열이 기본 테이블 중 하나에서만 있으므로 성공합니다.

    USE AdventureWorks2022;   
    GO  
    UPDATE HumanResources.vEmployeeDepartmentHistory  
    SET StartDate = '20110203', EndDate = GETDATE()   
    WHERE LastName = N'Smith' AND FirstName = 'Samantha';   
    GO  
    

자세한 내용은 UPDATE(Transact-SQL)를 참조하세요.

뷰를 통해 테이블 데이터를 삽입하려면

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 다음 예에서는 뷰 HumanResouces.Department 의 관련 열을 지정하여 기본 테이블 HumanResources.vEmployeeDepartmentHistory에 새 행을 삽입합니다. 단일 기본 테이블의 열만 지정되고 기본 테이블의 다른 열에 기본값이 있으므로 문이 성공합니다.

    USE AdventureWorks2022;  
    GO  
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName)   
    VALUES ('MyDepartment', 'MyGroup');   
    GO  
    

자세한 내용은 INSERT(Transact-SQL)를 참조하세요.