UPDATE-sats

Använd UPDATE-satsen om du vill ändra poster i en databastabell. UPDATE-satsen har följande format:

Kopiera
UPDATE tabellnamn SET kolumnnamn = uttr, ... [ WHERE { villkor } ]

kolumnnamn är namnet på en kolumn vars värde ska ändras. Det går att ändra flera kolumner i ett och samma uttryck.

uttr är kolumnens nya värde.

Normalt är uttrycken konstanta värden för kolumnerna (men de kan också vara en delfråga). Värden för teckensträngar måste omslutas av enkla citationstecken ('). Om du vill ta med ett enkelt citationstecken i ett värde för en teckensträng som omsluts av enkla citationstecken, använder du två enkla citationstecken tillsammans (t.ex. 'Don''t').

Delfrågor måste omges av parenteser.

Instruktionen WHERE är en valfri, giltig instruktion. Den bestämmer vilka poster som uppdateras.

Exempel

UPDATE-satsen i anst-tabellen.

Kopiera
UPDATE anst SET lön=32000, undantag=1 WHERE anst_id = 'E10001'

Uttrycket UPDATE ändrar alla poster som uppfyller villkoren i instruktionen WHERE. I det här fallet ändras lönen och undantagsstatus för alla anställda som har anställnings-ID E10001. Eftersom varje anställnings-ID är unikt i tabellen Anställda, uppdateras endast en post.

Exempel

UPDATE-satsen i anst-tabellen med en delfråga.

Kopiera
UPDATE anst SET lön = (SELECT medel(lön) FROM anst) WHERE anst_id = 'E10001'

I det här fallet ändras lönen till medellönen i företaget för de anställda som har anställnings-ID E10001.

Viktigt  

I containerfält kan du bara använda UPDATE med text, såvida du inte förbereder ett parameteruttryck och strömmar data från programmet. Om du vill använda binära data kan du helt enkelt tilldela filnamnet genom att omge det med enkla citationstecken eller använda funktionen PutAs(). När du anger filnamnet härleds filtypen från filtillägget:

Kopiera
UPDATE tabellnamn SET (containernamn) = ? AS 'filnamn.filtillägg'

Filtyper som inte stöds kommer att sättas in som typen FIL.

Ange typen när du använder funktionen PutAs(): PutAs(kol, 'typ'), där typvärdet är en filtyp som stöds, enligt beskrivningen i Hämta innehållet i ett containerfält: Funktionen CAST() och funktionen GetAs().