Ik heb de volgende stored procedure:
deze 'stuks typen' worden door enkele (en in de toekomst meer) tabellen gebruikt.
Het verwijderen van een stukstype kan dus alleen als deze niet gebruikt wordt door een andere tabel. Dit is netjes opgelost d.m.v. foreign keys e.d.
Als deze procedure wordt aangeroepen, krijg je netjes een (.net) SqlException met een melding over reference contstraints enzo.
Mijn vraag is: hoe detecteer ik van te voren of er een dergelijke situatie optreedt áls ik die records zou verwijderen.
ik kan natuurlijk kijken in de tabellen die deze stukstypen gebruiken of er records bestaan met die specifieke id's die verwijderd gaan worden. Maar zoals ik al zei, er zijn meerdere tabellen en in de toekomst komen er nog bij; wat zou betekenen dat je dan elke keer de procedure / code moet aanpassen als dat gebeurd.
ik wil dit graag al opvangen in mijn bussines object, aangezien ik daar een 'rule' moet toevoegen dat een stukstype niet verwijderd mag worden als er een reference constrain overtreden wordt.
het opvangen van de SqlException is ook een optie, echter hoe weet je nu het type error. Aangezien bij kritieke fouten de systeembeheerder op de hoogte gesteld zou moeten worden. En bij minder kritieke de gebruiker een 'normale' melding krijgt.
snap e vous ?
code:
1
2
3
4
5
6
7
| create procedure DeleteStuksType
@solutionID smallint,
@stuksTypeID int
as
begin
delete from tblStuksType where solutionID = @solutionID and stukstypeID = @stuksTypeID
end |
deze 'stuks typen' worden door enkele (en in de toekomst meer) tabellen gebruikt.
Het verwijderen van een stukstype kan dus alleen als deze niet gebruikt wordt door een andere tabel. Dit is netjes opgelost d.m.v. foreign keys e.d.
Als deze procedure wordt aangeroepen, krijg je netjes een (.net) SqlException met een melding over reference contstraints enzo.
Mijn vraag is: hoe detecteer ik van te voren of er een dergelijke situatie optreedt áls ik die records zou verwijderen.
ik kan natuurlijk kijken in de tabellen die deze stukstypen gebruiken of er records bestaan met die specifieke id's die verwijderd gaan worden. Maar zoals ik al zei, er zijn meerdere tabellen en in de toekomst komen er nog bij; wat zou betekenen dat je dan elke keer de procedure / code moet aanpassen als dat gebeurd.
ik wil dit graag al opvangen in mijn bussines object, aangezien ik daar een 'rule' moet toevoegen dat een stukstype niet verwijderd mag worden als er een reference constrain overtreden wordt.
het opvangen van de SqlException is ook een optie, echter hoe weet je nu het type error. Aangezien bij kritieke fouten de systeembeheerder op de hoogte gesteld zou moeten worden. En bij minder kritieke de gebruiker een 'normale' melding krijgt.
snap e vous ?