Kein Problem hier eine Demo für der
MSSQL! (nicht
MYSQL):
Nun der Insert:
Code:
INSERT INTO [dbo].[Demo] ([Text])
output inserted.Id, inserted.Text
VALUES ('Hund'),
('Katze'),
('Maus')
GO
Liefert als Resultset:
Sprich, dass was ich einfüge dafür habe ich auch die exakten Keys. Also nicht das was vielleicht noch im Hintergrund abläuft durch Trigger oder parallel laufenden Prozessen.
Wow! Das kannte ich noch nicht. Ich hole immer mit @@Identity die ID mit einer separaten
Query nach dem Insert. Aber wie kann das Resultset mit der Output
Query geholt werden? Ist es Qry.FieldByName('Inserted.Id') oder so? Und wie ist die Performance verglichen mit einem "normalen" Insert?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.