Sagen wir, ich habe eine Tabelle wie folgt definiert:
CREATE TABLE SomeTable
(
P_Id int PRIMARY KEY IDENTITY,
CompoundKey varchar(255) NOT NULL,
)
CompoundKey ist ein String mit dem Primärschlüssel P_Id am Ende verkettet, wie z.B. Foo00000001, was von "Foo" + 00000001 kommt. Derzeit erfolgen Eintragsinsertionen in diese Tabelle in 2 Schritten.
- Fügen Sie einen Dummy-Datensatz mit einem Platzhalterstring für CompoundKey ein.
- Aktualisieren Sie den CompoundKey mit der Spalte mit dem generierten Verbundschlüssel.
Ich suche nach einer Möglichkeit, das 2. Update vollständig zu vermeiden und alles mit einem einzigen Insert-Statement zu erledigen. Ist das möglich? Ich benutze MS SQL Server 2005.
p.s. Ich stimme zu, dass dies nicht das sinnvollste Schema der Welt ist, und dieses Schema wird refaktorisiert (und ordnungsgemäß normalisiert), aber ich kann im Moment keine Änderungen am Schema vornehmen.