Update (SQL)

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 kolonnas_nosaukums = vērtība [, kolonnas_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 kolonnas C1 vērtību uz 1 tikai tām rindām, kurām kolonnas C2 vērtība ir "a".

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

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

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

Paaugstināt kolonnas C1 vērtību par 1, ja kolonnas 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ā T1 izmainīt kolonnas C1 vērtību uz 2 tikai tad, ja kolonnas C2 vērtība ir atrodama tabulas T2 kolonnā C3 un kolonnas 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 kolonnas:

 UPDATE T SET C1 = 1, C2 = 2

Ir iespējami arī kompleksi nosacījumi: 

 UPDATE T SET A = 1 WHERE C1 = 1 AND C2 = 2

 UPDATE a
     SET a.[kolonna] = vērtība
     FROM articles a 
     JOIN classification c 
     ON a.articleID = c.articleID 
     WHERE c.classID = 1

 Ārējās saites 

 MySQL UPDATE Syntax
 PostgreSQL 8.1.23 Documentation - UPDATE
 Oracle® Database SQL Reference 10g Release 1 (10.1) - UPDATE

Kategorija:SQL