UPDATE

Składnia: 

UPDATE [ OR conflict-algorithm ] [catalog-name.]table-name SET assignment[, assignment]* [ WHERE expr ]

assignment:
column-name = expr
	

Instrukcja UPDATE służy do zmiany wartości kolumn w wybranych wierszach tabeli. Każdy element assignment zawiera nazwę kolumny po lewej stronie znaku równości i dowolne wyrażenie po prawej stronie. W wyrażeniach mogą występować wartości innych kolumn. Wartości wyrażeń są wyznaczane zanim zmienione zostaną wartości podanych kolumn w tabeli.

Za pomocą opcjonalnej klauzuli WHERE można określić podzbiór wierszy, które mają być zmienione.

Opcjonalny element conflict-algorithm pozwala na określenie alternatywnego sposobu rozwiązywania konfliktów w przypadku naruszenia ograniczeń nałożonych na tabelę, który będzie miał zastosowanie tylko dla danej instrukcji UPDATE. Więcej informacji można znaleźć w opisie klauzuli ON CONFLICT.

Przykład 33.23. Uzupełnianie brakujących wartości na podstawie innej tabeli za pomocą instrukcji UPDATE

table 'tmp_client':
    format age INTEGER
    id  age otherdata
    1  None 'a'
    2  None 'b'
    3  None 'c'

table 'tmp_age':
    id age
    1  35
    2  76

sql:
     UPDATE tmp_client SET
     age = ( SELECT tmp_age.age FROM tmp_age  where tmp_client.id = tmp_age.id )

sql tmp_client_out:
    SELECT * FROM tmp_client
print tmp_client_out

Output:

id | age  | otherdata |
+--+------+-----------+--
 1 |   35 | a         |
 2 |   76 | b         |
 3 | None | c         |