2010-05-28 8 views
1

Je veux un index sur une colonne de clé non principale, mais cette colonne peut contenir des valeurs null. Je trouve sur un index unique normal, il (à juste titre) ne permet qu'un nul.Comment créer un index sur une table non unique?

Est-ce possible?

et quelle est la syntaxe pour cela?

+0

@ Mark: la norme SQL ne dit rien sur les index - seulement des contraintes. Classiquement, je crois que DB2 a d'abord introduit l'interprétation 'UNIQUE avec au plus un NULL', et la plupart des autres SGBD ont suivi. Il serait utile de pouvoir faire '' CREATE UNIQUE UNLESS NULL INDEX idxname ON table (col1); Malheureusement, je ne connais aucun système où vous pouvez faire cela. –

+0

@Jonathan: plusieurs valeurs NULL dans une colonne UNIQUE sont autorisées dans Oracle (10g), peu importe si l'unique-ness est défini par une contrainte ou par un index - juste testé cela pour vérifier. –

+0

@Bob - merci; C'est intéressant à savoir (et c'est pourquoi le SO est utile). –

Répondre

4
CREATE INDEX idxname ON table(col1); 

Voir MSDN

+1

oui, j'aurais probablement dû regarder comment la syntaxe pour créer un index a fonctionné avant que j'ai posté cette question! – Diskdrive

Questions connexes