Announcement

Collapse
No announcement yet.

Unique Index mit NULLs

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unique Index mit NULLs

    Ich muss momentan eine Access (97)-Datenbank auf den SQL Server 2005 konvertieren. Dabei habe ich ein Problem mit den Werten. Auf manchen Spalten in der Access-Datenbank ist ein Unique-Index gesetzt. Access hat aber die Eigenart, dass solche Indizes mehrere Zeilen mit NULL-Werten zulassen. Das wurde natürlich ausgenutzt :-(

    Im SQL-Server ist ein Unique Index aber wirklich unique, mehrere Zeilen mit NULL-Werten sind also nicht zugelassen. Ich könnte jetzt natürlich den Index auf non-unique setzen. Was aber dann nicht merh verhindert, dass unzulässige Daten in die Datenbank kommen. Denn die Geschäftslogik sagt hier, dass der Wert in den betreffenden Spalten zwar eindeutig sein muss, ausser wenn NULL eingefügt wird.

    Die einzige Lösung, die ich mir momentan vorstellen kann, wäre ein non-unique Index (sofern der überhaupt notwendig ist), und ein CHECK CONSTRAINT. Die Funktion für diesen Constraint müsste ich wohl selbst schreiben. Nur: wie mache ich das?

    Gruß,
    Martin

  • #2
    Falls Feldtype varchar, dann nimm '' als "ersatz" für NULL

    Comment


    • #3
      Das geht ja flott hier mit dem Antworten, danke. Dabei wollte ich gerade im Thread schreiben, dass ich die Lösung im allgemeinen Forum für den SQL-Server gefunden habe. Hätte ich vorher nur mal richtig gesucht ....

      Gruß,
      Martin

      Comment

      Working...
      X