Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[T-SQL][MSSQL] CHECK constraint, geldige waarden achterhalen

Pagina: 1
Acties:

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 22-09 14:46

Wijnbo

Electronica werkt op rook.

Topicstarter
Hi, korte vraag, maar kan het niet vinden... Is het mogelijk om, wanneer er op een veld een check constraint staat met als geldige waarden 1,2,3, is het dan mogelijk deze waarden weer te achterhalen op 1 van de volgende manieren :

- Via een (T-/MS-)SQL query
óf
- Via een C# SqlCommand achtig iets?

Heb al gezocht op verschillende termen zoals "determine valid values SQL Check" en weet ik het wat, maar kan er niets over vinden?

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Nee, want een check is een rule. Je kunt wel via de management tabellen de definitie van een rule opvragen (op deze manier toont ook de Enterprise Manager/Sql Server Management Studio bij 'create script).

Je kunt immers ook een rule maken welke controleerd of van een artikel nog voldoende op voorraad is en dus zelf een select query uitvoert. Een after update trigger op hetzelfde veld zou dan de voorraad kunnen afboeken.

Een andere oplossing is dat je een tabel maakt waarin je de 'enumeraties' opslaat aan de hand van een key en je code simpel een query op die tabel kan uitvoeren om de geldige waardes op te halen (eventueel voor een dropdown of zo).

If it isn't broken, fix it until it is..


  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 22-09 14:46

Wijnbo

Electronica werkt op rook.

Topicstarter
Niemand_Anders schreef op donderdag 04 september 2008 @ 08:48:
Nee, want een check is een rule. Je kunt wel via de management tabellen de definitie van een rule opvragen (op deze manier toont ook de Enterprise Manager/Sql Server Management Studio bij 'create script).

Je kunt immers ook een rule maken welke controleerd of van een artikel nog voldoende op voorraad is en dus zelf een select query uitvoert. Een after update trigger op hetzelfde veld zou dan de voorraad kunnen afboeken.

Een andere oplossing is dat je een tabel maakt waarin je de 'enumeraties' opslaat aan de hand van een key en je code simpel een query op die tabel kan uitvoeren om de geldige waardes op te halen (eventueel voor een dropdown of zo).
Nja, het doel waar ik het voor wil gebruiken is code generatie in ASP, d.w.z een dropdown maken indien er een check op staat etc... requiredfieldvalidators genereer ik al door te checken op AllowNull, en doe nog wat andere dingetjes, maar dit leek me ook wel makkelijk... Die andere oplossing met een aparte tabel met geldige waarden kan natuurlijk wel, maar vind ik eigelijk beetje brak. Hele idee van best practices is dan beetje weg :P