sql server merge with multiple insert when not matched

Я использую MERGE в своем запросе и делаю предложение INSERT on WHEN NOT MATCHED THEN, но затем я хотел бы получить идентификатор вставленной строки и сделать еще один INSERT в какую-либо другую таблицу. Запрос на данный момент:

ALTER PROCEDURE [dbo].[BulkMergeOffers]
@data ImportDataType READONLY
AS
SET NOCOUNT ON;
DECLARE @cid int = 0
MERGE dbo.oferta AS target
USING @data AS source 
ON    (target.nr_oferty = source.nr_oferty)
WHEN NOT MATCHED THEN 
INSERT (nr_oferty,rynek,typ_transakcji, typ_nieruchomosci,cena,powierzchnia, rok_budowy, wojewodztwo, miasto, dzielnica, ulica, opis, wspolrzedne, film, zrodlo, KontaktStore, data, forma_wlasnosci, stan_techniczny, liczba_pokoi, liczba_peter, pietro, material, kuchnia, pow_dzialki, typ_dzialki, woda,gaz, prad,sila, przeznaczenie,lokal_dane)
      VALUES (source.nr_oferty,source.rynek,source.typ_transakcji,  source.typ_nieruchomosci,source.cena,source.powierzchnia, source.rok_budowy, source.wojewodztwo, miasto,    source.dzielnica, source.ulica, source.opis, source.wspolrzedne, source.film, source.zrodlo, source.KontaktStore, source.data, source.forma_wlasnosci, source.stan_techniczny, source.liczba_pokoi,     source.liczba_peter, source.pietro, source.material, source.kuchnia, source.pow_dzialki, source.typ_dzialki, source.woda,source.gaz, source.prad,source.sila, source.przeznaczenie,source.lokal_dane); 

Итак, как вы видите, мне нужно вставить некоторые значения в целевую таблицу на основе исходных данных, тогда мне нужно взять идентификатор вставки и вставить его в другую таблицу, но также на основе некоторых исходных данных, поэтому что-то вроде этого, сразу после первой вставки:

SET @cid = SCOPE_IDENTITY();
if source.photo is not null
begin
insert into dbo.photos(offerID, file) values (@cid, source.photo);
end

Но я не могу его собрать, у меня нет больше доступа к источнику, а также, если оператор показывает ошибку:

"идентификатор, состоящий из нескольких частей source.photo не может быть привязан "

, но он есть. Для ясности ImportDataType - это параметр с табличным значением.

ПОМОГИТЕ

10
задан Programista 6 October 2010 в 11:53
поделиться