De instructie UPDATE
Gebruik de instructie UPDATE
om records in een databasetabel te wijzigen. De instructie UPDATE
is als volgt gestructureerd:
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.
UPDATE
-instructie voor de tabel werkn.
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.
UPDATE
-instructie voor de tabel werkn met een subopvraag.
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
.
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:
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().