Thread View: be.comp.programming
2 messages
2 total messages
Started by Steven
Sat, 03 Feb 2007 15:21
unique or empty
Author: Steven
Date: Sat, 03 Feb 2007 15:21
Date: Sat, 03 Feb 2007 15:21
17 lines
1680 bytes
1680 bytes
Hallo, in de meeste databases kan je aangeven of een veld UNIQUE moet zijn. Bestaat er ook zoiets als "UNIQUE OR EMPTY" ? Dwz ofwel is het veld leeg, ofwel is het ingevuld, en dan moet het uniek zijn. Voorbeeld van het mogelijk gebruik is het gebruik van rijksregisternummer in een database. Als je het niet weet van iemand laat je het leeg, maar als je het wel weet, dan is het uniek. Zodoende kunnen er meerdere records zijn met rijksregisternummer leeg. Uiteraard zal dit wel database afhankelijk zijn, maar zijn er databases die dit soort van uniciteit ondersteunen? Groetjes, Steven
Re: unique or empty
Author: joris.spriet
Date: Mon, 05 Feb 2007 14:53
Date: Mon, 05 Feb 2007 14:53
32 lines
2247 bytes
2247 bytes
[...] > in de meeste databases kan je aangeven of een veld UNIQUE moet zijn. > Bestaat er ook zoiets als "UNIQUE OR EMPTY" ? Dwz ofwel is het veld [...] Hoi, 'k heb vroeger nog gewerkt met Oracle (als ik het goed voorheb 8i) en als je daarin een unieke index constraint legt op een veld, dan geldt dit enkel voor de niet-NULL velden. Als ik me goed herinner, kon je dat ook met PRIMARY KEY velden waar NULL waarden toegestaan waren (maar 'k weet het niet meer zeker - check documentatie). Dat was Oracle. Postgres (7.3 - ik kom wat achter) heeft hetzelfde gedrag als Oracle, ttz NULL waarden worden als niet gelijk beschouwd. Bij MS SQL Server 2000/2005 kun je dit niet (al is de on-line documentatie verwarrend). Enfin. 't Hangt dus af van het "merk" van database of en hoe je dit kunt realizeren, al zal 't overal wel een beetje 't zelfde zijn. Oracle en Postgres volgen hier de SQL-92 standaard (die zegt dat als je NULL met NULL vergelijkt, dit altijd op 'false' uitdraait), MS SQL Server dus niet... mvg, Joris
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads