Announcement

Collapse
No announcement yet.

deleted & unique

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

  • deleted & unique

    Hallo ich hab ne Frage

    Ich habe eine "deleted" spalte in der Datenbank weil ich nicht will dass gelöschte Einträge direkt aus der Datenbank gelöscht werden sondern einfach deleted auf 1 gesetzt wird.

    eine andere Spalte heisst "Name". Nun will ich diese Spalte UNIQUE machen, also keine gleichen Namen zulassen.

    Wenn ein Name jedoch gelöscht wurde (deleted=1) sollte nicht zur UNIQUE kontrolle gehören ansonsten könnte man ja einen Namen nicht löschen und gleich darauf wieder einfügen.

    Wenn ich nun "Name" kombiniert mit "deleted" als UNIQUE definiere entsteht logischerweise das selbe Problem, einfach halt erst wenn man den Namen das 2. mal deleten will.

    kann mir jemand aus der Patsche helfen? wie bekomm ich das unter einen Hut?

    lg Ruggl

  • #2
    Deletet darf nich nur erlaubte Werte 0 und 1 haben sondern z.B. das Löschdatum oder eine GUID. Damit hast du dann wieder einen UNIQUE-Wert wenn eine Wert mehrmals gelöscht wurde.

    Comment


    • #3
      Ich verwende da lieber eine zweite Tabelle (am besten mit name + extension, also "Persons" und dazu "Persons_deleted") mit gleichem Aufbau aber zusätzlich noch einem delete-datum und habe auf der Haupttabelle einen INSTEAD-OF-DELETED-Trigger, der ein Delete abfängt, zuerst den Datensatz mit Löschdatum in die xxx-deleted-Tabelle einträgt und dann den Datensatz aus der Haupttabelle löscht. Finde ich irgendwie einfacher, weil ich dann bei Zugriffen auf die Haupttabelle nie auf die gelöschten Records achten muss.

      bye,
      Helmut

      Comment

      Working...
      X