De instructie UPDATE

Gebruik de instructie UPDATE om records in een databasetabel te wijzigen. De instructie UPDATE is als volgt gestructureerd:

Kopiëren
UPDATE tabelnaam SET kolomnaam = uitdr, ... [ WHERE { voorwaarden } ]

kolomnaam is de naam van een kolom waarvan de waarden moeten worden gewijzigd. Met één instructie kunnen meerdere kolommen worden gewijzigd.

uitdr is de nieuwe waarde voor de kolom.

Doorgaans zijn de uitdrukkingen constante waarden voor de kolommen (maar ze kunnen ook een subopvraag zijn). Tekenreekswaarden moet u tussen enkele aanhalingstekens (') plaatsen. Als u een dergelijk aanhalingsteken wilt invoegen in een tekenreekswaarde die zelf al tussen enkele aanhalingstekens is geplaatst, gebruikt u twee opeenvolgende enkele aanhalingstekens (bijvoorbeeld: 'Programma''s').

Subopvragen moeten tussen haakjes worden geplaatst.

Het WHERE-element kan elk geldig element zijn. Dit bepaalt welke records worden bijgewerkt.

Voorbeeld

UPDATE-instructie voor de tabel werkn.

Kopiëren
UPDATE werkn SET salaris=32000, vrijstelling=1 WHERE werkn_ID = 'E10001'

De UPDATE-instructie wijzigt elke record die aan de voorwaarden van het WHERE-element beantwoordt. In dit geval worden het salaris en de status Vrijstelling gewijzigd voor alle werknemers met de werknemer-ID E10001. Aangezien werknemer-id's uniek zijn in de tabel Werknemer, wordt er slechts één record bijgewerkt.

Voorbeeld

UPDATE-instructie voor de tabel werkn met een subopvraag.

Kopiëren
UPDATE werkn SET salaris = (SELECT gem(salaris) FROM werkn) WHERE werkn_ID = 'E10001'

In dit geval wordt het salaris gewijzigd in het gemiddelde salaris van het bedrijf voor de werknemer met werknemer-ID E10001.

Belangrijk  

In containervelden kunt u UPDATE alleen met tekst gebruiken, tenzij u een instructie met parameters voorbereidt en de gegevens vanuit uw toepassing stroomsgewijs overbrengt. Als u binaire gegevens wilt gebruiken, kunt u de bestandsnaam gewoon toewijzen door deze tussen enkele aanhalingstekens te plaatsen of de functie PutAs() te gebruiken. Wanneer de bestandsnaam wordt opgegeven, wordt het bestandstype afgeleid van de bestandsextensie:

Kopiëren
UPDATE tabelnaam SET (containernaam) = ? AS 'bestandsnaam.bestandsextensie'

Niet-ondersteunde bestandstypen worden ingevoegd als het type FILE.

Bij het gebruik van de functie PutAs() geeft u het type op: PutAs (kol, ‘type’), waarbij de typewaarde een ondersteund bestandstype is dat is beschreven in De inhoud van een containerveld ophalen: de functie CAST() en GetAs().