Update (SQL)

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži

SQL naredba UPDATE služi za mijenjanje podataka u jednom ili više redaka u tablici. mogu se promijeniti svi redovi ili samo podskup redaka, na temelju uvjeta.

Naredba UPDATE ima sljedeći oblik:[1]

UPDATE ime_tablice SET ime_stupca = vrijednost [, ime_stupca = vrijednost ...] [WHERE uvjet]

Da bi UPDATE bio uspješan, korisnik mora imati odgovarajuća prava (UPDATE privilegije) za tablicu ili stupac, nova vrijednost ne smije narušavati ograničenja (referencijalni integritet, primarni ključevi, unique indeksi, CHECK ograničenja, i NOT NULL ograničenja).

Primjeri

Postavi vrijednost stupca C1 u tablici T na 1, samo u onim recima gdje je vrijednost stupca C2 jednaka "a".

UPDATE T SET C1 = 1 WHERE C2 = 'a'

Povećaj vrijednost stupca C1 za 1 ako je vrijednost stupca C2 jednaka "a".

UPDATE T SET C1 = C1 + 1 WHERE C2 = 'a'

Dadaj string "text" na početak stupca C1 ako je vrijednost stupca C2 jednaka "a".

UPDATE T SET C1 = 'text' || C1 WHERE C2 = 'a'

Postavi vrijednost stupca C1 u tablici T1 u 2, samo ako je vrijednost stupca C2 jedna iz podskupa vrijednosti stupca C3 u tablici T2 za koje vrijedi da im je vrijednost stupca C4 jednaka 0.

UPDATE T1 
SET    C1 = 2    
WHERE  C2 IN ( SELECT C3
               FROM   T2
               WHERE  C4 = 0)

Moguće je promijeniti više stupaca jednom naredbom:

UPDATE T SET C1 = 1, C2 = 2

Složeni uvjeti i JOIN-i su također dozvoljeni:

UPDATE T SET A = 1 WHERE C1 = 1 AND C2 = 2
UPDATE a
SET a.[updated_column] = updatevalue
FROM articles a 
JOIN classification c 
ON a.articleID = c.articleID 
WHERE c.classID = 1

Izvori