Wstawiam rekordy z jednego db do bazy danych serwera SQL do innego. Muszę pobrać nowo wstawiony identyfikator i zaktualizować pole w tabeli źródłowej. Mogę uzyskać nowy identyfikator z opcją INSERTED bez problemu. Jednak nie mogę uzyskać identyfikatora z tabeli źródłowej. Tabela docelowa nie ma pola dla identyfikatora źródła. Tabela źródłowa jest tabelą konwersji i nie chcę zanieczyszczać tabeli docelowej polami konwersji. To może nie być możliwe, ale pomyślałem, że najpierw sprawdzę z wami.Instrukcja SQL Server wstawiająca za pomocą INSERTED, aby uzyskać nowy identyfikator i istniejący identyfikator
drop table #Table1
CREATE TABLE #Table1
(
Table1ID INT,
Table2ID INT,
NAME VARCHAR(32)
)
INSERT INTO #Table1
VALUES
(1, NULL, 'Fred')
,(2, NULL, 'Tom')
,(3, NULL, 'Sally')
--ok, im inserting into #Table2
drop table #Table2
CREATE TABLE #Table2
(
[Table2ID] [int] IDENTITY(1,1) NOT NULL,
NAME VARCHAR(32)
)
--THE RUB, I want to insert Table2ID into table3
--along with Table1ID. I cannot seem to reference table1
--Any Ideas?
insert into #Table2(NAME)
OUTPUT INSERTED.Table2ID, T.Table1ID into #Table3
select Name from #Table1 T
Działa jak mistrz ... Dzięki Remus! – Steve