Czy istnieje sposób na odzyskanie wszystkich kluczy nowo wstawionych rekordów przy użyciu zapytania INSERT INTO ... SELECT FROM?
Odpowiedzi:
5 dla odpowiedzi № 1DECLARE @MyVar TABLE ( ID int )
INSERT INTO dbo.TargetTable
OUTPUT INSERTED.ID INTO @MyVar
SELECT * FROM dbo.SourceTable
SELECT * FROM @MyVar
3 dla odpowiedzi № 2
Posługiwać się klauzula WYJŚCIOWA do złap ich (SQL Server 2005 i nowsze).
0 dla odpowiedzi № 3
Niektóre bazy danych obsługują INSERT INTO ... SELECT ... RETURNING ...
składnia. Ponieważ używasz TSQL, uważam, że składnia to:
INSERT INTO table (fields...)
OUTPUT outputfields...
SELECT ...
W pliku znajduje się plik PDF: Returning.pdf