Re: Id aus einer anderen Tabelle
- From: Charlie Schaubmair <ksc@xxxxxx>
- Date: Wed, 17 Aug 2005 16:37:24 +0200
Hi Elmar,
ok, dass sehe ich ein.
Könnt mir jemand ein Bsp. für meine anforderung geben, wie ich es mit dem InsteadOf-Trigger machen könnte?
Wäre echt super.
danke+lg Charlie
Elmar Boye schrieb:
Hallo Charlie,
Charlie Schaubmair <k.schaubmair@xxxxxxxxxxxx> schrieb ...
danke für den Lösungsansatz, aber jetzt hab ich die aller einfachste Lösung gefunden:
Als default-Wert setzte ich in der tbl_test Tabelle den Primary-Key auf zB 999999999 und wenn dann ein Insert gemacht wird, dann bekommt der Datensatz zuerst den Primary-Key 999999999 und durch den Trigger dann sofort einen neuen eindeutigen Primary-Key.
Kann ich dies ohne Probleme so machen, oder spricht da was dagegen?
Eine Menge: Sobald mehrere Benutzer Zeilen einfügen gibst Probleme, da eine Primary Key Einschränkung vor der Ausführung des Triggers geprüft wird.
Und innerhalb einer Transaktion wirds womöglich noch schlimmer, da Du schnell mit Blockierungen und Deadlocks (wenn das für mehrere Tabellen gilt) zu kämpfen haben wirst, da sich alles um diese magische Zahl reisst.
Unabhängig davon kommt hinzu, dass die meisten Schnittstellen (wie z. B. ADO) davon ausgehen, dass ein Primary Key unveränderlich ist. Und Probleme bekommen wenn sie erneut auf die Zeile zugreifen wollen (schlimmstenfalls könnten sie sogar auf diefalsche 99...99 zugreifen).
Und zudem niemand daran gehindert wird, den Default einfach zu überschreiben (... und da fällt mir vermutlich gleich noch mehr ein ;-)
Da Du die Tage bereits nach den Guids gefragt hattest: Wieso nicht die? Das ist allemale besser.
Gruss Elmar
.
- Follow-Ups:
- Re: Id aus einer anderen Tabelle
- From: Elmar Boye
- Re: Id aus einer anderen Tabelle
- References:
- Id aus einer anderen Tabelle
- From: Charlie Schaubmair
- RE: Id aus einer anderen Tabelle
- From: Christian Donner
- Re: Id aus einer anderen Tabelle
- From: Charlie Schaubmair
- Re: Id aus einer anderen Tabelle
- From: Elmar Boye
- Id aus einer anderen Tabelle
- Prev by Date: Re: Backup Konzept SQL-Server 2000
- Next by Date: Preisänderungen
- Previous by thread: Re: Id aus einer anderen Tabelle
- Next by thread: Re: Id aus einer anderen Tabelle
- Index(es):
Relevant Pages
|