업데이트할 레코드 수를 결정하는 것은 WHERE 절입니다. 다음 예제에서는 뷰를 대상 개체로 지정하여 테이블의 행을 업데이트합니다. 뷰 정의는 여러 테이블을 참조하지만 UPDATE 문은 기본 테이블 중 하나에서만 열을 참조하기 때문에 성공합니다. 두 테이블의 열이 지정되면 UPDATE 문이 실패합니다. 자세한 내용은 뷰를 통한 데이터 수정을 참조하십시오. 보시다시피, 열 값을 업데이트하는 것은 UPDATE 문을 사용할 때 매우 간단한 프로세스입니다. 그러나 지금까지 살펴본 모든 예제에서는 각 예제가 전체 테이블을 업데이트했습니다. 그러나 특정 행만 업데이트하는 경우가 많습니다. 그래서 어떻게 되는지 살펴보겠습니다.

sales.commissions 테이블을 다시 쿼리하는 경우 커미션 열의 값이 업데이트되는 것을 볼 수 있습니다. 지정된 영업 사원에 대해 두 개 이상의 영업을 같은 날에 기록할 수 있는 경우 표시된 예제가 제대로 작동하지 않습니다. 예제는 오류 없이 실행되지만 각 SalesYTD 값은 해당 당일 실제로 발생한 판매 수에 관계없이 하나의 판매로 업데이트됩니다. 이는 단일 UPDATE 문이 동일한 행을 두 번 업데이트하지 않았기 때문입니다. 왜 쓰기를 사용합니까? 안녕하세요, 난 당신이 쓰기에 대 한 권리 확신, 하지만 그것은 왜 그것은 직선 업데이트 보다 더 나은 알고 유용할 것 이다. 먼저 업데이트할 열(ProdDescrip)을 지정한 다음 마침표를 한 다음 WRITE 함수를 지정합니다. 함수의 세 인수는 괄호로 둘러싸여 쉼표로 구분됩니다. 첫 번째 인수-AdventureWorks-열에 삽입 될 새 텍스트입니다. 두 번째 인수-70-는 새 텍스트의 시작점입니다. 시작점은 0기반 서수 위치를 기준으로 합니다.

이 예제에서 시작점은 설명의 AWC의 A입니다. 마지막 인수-3-세 문자를 새 텍스트로 바꿔야 한다는 것을 나타냅니다. 그 결과, AWC는 어드벤처웍스로 대체됩니다. 위에서 언급했듯이 UPDATE 설명에는 SET 절이 포함되어야 합니다. 이 절은 대상 테이블의 어떤 열을 수정해야 하는지, 그리고 새 값을 지정해야 하는지 식별합니다. 다음 예제에서는 SalesQuota 열의 값을 250000으로 변경 하여 SalesStaff 테이블의 데이터를 수정합니다. 이 예제에서는 비율이 NULL인 경우 COALESCE()를 사용하여 0.1을 반환했습니다. 이 예제는 연도별로 총 매출을 저장하는 테이블을 만듭니다. FactInternetSales 테이블에 대해 SELECT 문을 실행하여 2004년의 총 매출을 업데이트합니다.

다음 예제에서는 SET 절의 하위 쿼리를 사용하여 열을 업데이트하는 데 사용되는 값을 결정합니다. 하위 쿼리는 스칼라 값(즉, 행당 단일 값)만 반환해야 합니다. 이 예제에서는 SalesOrderHeader 테이블에 기록된 가장 최근 판매를 반영하도록 SalesPerson 테이블의 SalesYTD 열을 수정합니다. 하위 쿼리는 UPDATE 문의 각 영업 사원에 대한 매출을 집계합니다. TOP를 사용하여 의미 있는 연표로 업데이트를 적용해야 하는 경우 하위 선택 문에서 ORDER BY와 함께 TOP을 사용해야 합니다. 다음 예제는 10명의 직원의 휴가 시간을 가장 빠른 고용 날짜로 업데이트합니다. 기본적으로 이전 문에서 수행한 변경 작업을 취소하여 영역 이름 열에 영국 값을 할당합니다. 그러나 박재박 행만 수정됩니다. 다음 표에서는 SELECT 문에서 반환된 업데이트된 행을 보여 주며, UPDATE를 사용하여 텍스트, ntext 또는 이미지 열을 수정하면 열이 초기화되고, 유효한 텍스트 포인터를 할당하고, 열이 업데이트되지 않는 한 하나 이상의 데이터 페이지를 할당합니다.

Null.