Ik heb een stored procedure die een normale update doet:
UPDATE [tabel]
SET kolom1 = @kolom1,
kolom2 = @kolom2
WHERE identity = @identity
Deze query heb ik in een stored procedure geplaatst die @identity, @kolom1 en @kolom2 meekrijgt als parameters. Tot zover werkt het. Wat ik echter wil is de mogelijkheid om bijvoorbeeld @kolom2 niet te specificeren, waardoor deze ook niet wordt geupdate. Het systeem waar deze procedures voor zijn maakt het voor gebruikers namelijk mogelijk velden te 'bevriezen', waardoor ze ze niet langer kunnen editten. De UPDATE hoeft dus alleen niet-bevroren kolommen te updaten. Hoe kan ik dat makkelijk doen? Ik wil liever geen dynamische SQL gebruiken (execute_sp), omdat dat kwetsbaarder is voor SQL-injectie.
UPDATE [tabel]
SET kolom1 = @kolom1,
kolom2 = @kolom2
WHERE identity = @identity
Deze query heb ik in een stored procedure geplaatst die @identity, @kolom1 en @kolom2 meekrijgt als parameters. Tot zover werkt het. Wat ik echter wil is de mogelijkheid om bijvoorbeeld @kolom2 niet te specificeren, waardoor deze ook niet wordt geupdate. Het systeem waar deze procedures voor zijn maakt het voor gebruikers namelijk mogelijk velden te 'bevriezen', waardoor ze ze niet langer kunnen editten. De UPDATE hoeft dus alleen niet-bevroren kolommen te updaten. Hoe kan ik dat makkelijk doen? Ik wil liever geen dynamische SQL gebruiken (execute_sp), omdat dat kwetsbaarder is voor SQL-injectie.