수색…
통사론
-  UPDATE 테이블 
 SET column_name = value , column_name2 = value_2 , ..., column_name_n = value_n
 WHERE 조건 ( 논리 연산자 condition_n)
모든 행 업데이트
이 예제는 예제 데이터베이스의 Cars Table 을 사용합니다.
UPDATE Cars
SET Status = 'READY'
 이 문은 행 세트를 필터링하기 위해 WHERE 절이 없기 때문에 'Cars'테이블의 모든 행의 'status'열을 'READY'로 설정합니다. 
지정된 행 업데이트
이 예제는 예제 데이터베이스의 Cars Table 을 사용합니다.
UPDATE 
    Cars
SET 
    Status = 'READY'
WHERE 
    Id = 4
이 문은 ID가 4 인 'Cars'행의 상태를 'READY'로 설정합니다.
 WHERE 절은 각 행에 대해 평가되는 논리 표현식을 포함합니다. 행이 기준을 충족하면 값이 업데이트됩니다. 그렇지 않으면 행이 변경되지 않습니다. 
기존 값 수정하기
이 예제는 예제 데이터베이스의 Cars Table 을 사용합니다.
UPDATE Cars
SET TotalCost = TotalCost + 100
WHERE Id = 3 or Id = 4
 업데이트 작업에는 업데이트 된 행의 현재 값이 포함될 수 있습니다. 이 간단한 예제에서 TotalCost 는 두 행에 대해 100 씩 증가합니다. 
- 자동차 3 호의 총 비용이 100에서 200으로 증가했습니다.
- 자동차 # 4의 총 비용이 1254에서 1354로 증가했습니다.
열의 새 값은 이전 값 또는 동일한 테이블이나 조인 된 테이블의 다른 열의 값에서 파생 될 수 있습니다.
다른 테이블의 데이터로 업데이트
 아래 예제는 또한 Customer 이기도하고 현재 Employees 테이블에 설정된 전화 번호가없는 직원의 PhoneNumber 를 기입합니다. 
(이 예제에서는 예제 데이터베이스의 Employees 및 Customers 테이블을 사용합니다.)
표준 SQL
상관 하위 쿼리를 사용하여 업데이트 :
UPDATE 
    Employees
SET PhoneNumber =
    (SELECT 
         c.PhoneNumber
     FROM 
         Customers c
     WHERE 
         c.FName = Employees.FName 
         AND c.LName = Employees.LName)
WHERE Employees.PhoneNumber IS NULL
SQL : 2003
 MERGE 사용하여 업데이트 : 
MERGE INTO 
    Employees e
USING 
    Customers c 
ON 
    e.FName = c.Fname 
    AND e.LName = c.LName
    AND e.PhoneNumber IS NULL
WHEN MATCHED THEN
   UPDATE 
      SET PhoneNumber = c.PhoneNumber
SQL 서버
 INNER JOIN 사용하여 업데이트 : 
UPDATE 
    Employees
SET 
    PhoneNumber = c.PhoneNumber
FROM 
    Employees e
INNER JOIN Customers c
        ON e.FName = c.FName 
        AND e.LName = c.LName
WHERE 
    PhoneNumber IS NULL
업데이트 된 레코드 캡처
때로는 방금 업데이트 된 레코드를 캡처하려고합니다.
CREATE TABLE #TempUpdated(ID INT)
Update TableName SET Col1 = 42
    OUTPUT inserted.ID INTO #TempUpdated
    WHERE Id > 50
Modified text is an extract of the original Stack Overflow Documentation
        아래 라이선스 CC BY-SA 3.0
        와 제휴하지 않음 Stack Overflow