SQL Veld updaten direct na een ALTER commando

Als een veld moet worden toegevoegd aan een tabel wordt het ALTER statement gebruikt:

ALTER tabel ADD veldnaam type


voorbeeld:

ALTER tbl_Persoon ADD leeftijd int


Soms is het nodig om direct na het aanmaken van het veld een waarde in te voegen. Je zou dan denken, voeg een UPDATE statement uit na de ALTER:

ALTER tbl_Persoon ADD leeftijd int
UPDATE tbl_Persoon SET leeftijd = 18


Maar helaas, dit werkt niet. Waarom dit niet werkt weet ik niet precies (nu geen tijd om het verder uit te zoeken). Wat ik wel weet is de oplossing. Deze zijn er eigenlijk in twee vormen.

De eerste manier is door het UPDATE statement uit te voeren in het Execute statement:

ALTER tbl_Persoon ADD leeftijd int
EXECUTE('UPDATE tbl_Persoon SET leeftijd = 18')


De tweede manier (welke in mijn ogen netter is) is de volgende:

ALTER tbl_Persoon ADD leeftijd int NOT NULL default 18


Deze manier kan je dus enkel gebruiken als je een veld toevoegt waarvan de waarden niet NULL mogen zijn.

Reacties

Populaire posts van deze blog

[SQL Server] varchar vs nvarchar

MS Sql 70-461: Chapter 5

[C#] Class serialiseren en deserialiseren