Pāriet uz saturu

Update (SQL)

Vikipēdijas lapa

SQL valodā komanda UPDATE izmaina datus vienā vai vairākos ierakstos. Datus var izmainīt vai nu visās rindās vai arī izvēlētajās rindās , izmantojot nosacījumu.

Pielietojums

UPDATE komandai ir sekojoša sintakse:

UPDATE tabulas_nosaukums SET kolonas_nosaukums = vērtība [, kolonas_nosaukums = vērtība ...] [WHERE nosacījums]

Lai UPDATE komanda būtu veiksmīga, lietotājam ir jābūt ar datu manipulācijas privilēģijām un jaunie dati nedrīkst radīt konfliktu.

Piemēri

Tabulā T izmainīt kolonas C1 vērtību uz 1, tikai tām rindām kurām kolonas C2 vērtība ir "a".

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

Tabulā T izmainīt kolonas C1 vērtību uz 9 un kolonas C3 vērtību uz 4, tikai tām rindām kurām kolonas C2 vērtība ir "a".

     UPDATE T SET C1 = 9, C3 = 4 WHERE C2 = 'a'

Paaugstināt kolonas C1 vērtību par 1, ja kolonas C2 vērtība ir "a".

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

Kolonas C1 vērtības sākumā pievienot tekstu "text", ja kolonas C2 vērtība ir "a".

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

Tabulā C1 izmainīt kolonas C1 vērtību uz 2, tikai tad ja kolonas C2 vērtība ir atrodama tabulas T2 kolonā C3 un kolonas C4 vērtība ir 0.

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

Vienā komandā var tikt izlabotas vairākas kolonas:

     UPDATE T SET C1 = 1, C2 = 2

Ir arī iespējami kompleksi nosacījumi:

     UPDATE T SET A = 1 WHERE C1 = 1 AND C2 = 2
     UPDATE a
     SET a.[kolona] = vērtība
     FROM articles a 
     JOIN classification c 
     ON a.articleID = c.articleID 
     WHERE c.classID = 1

Ārējās saites