Выходной Пункт T-SQL: Как получить доступ к старому идентификатору Идентификационных данных

Мы используем NUnit и MBUnit здесь. Мы используем TestDriven.NET для выполнения модульных тестов из Visual Studio. Мы используем превосходное, настоятельно рекомендовали RhinoMocks как ложная платформа.

10
задан gbn 19 November 2009 в 20:52
поделиться

2 ответа

Вам нужно будет снова присоединиться к @act_map_matrix к Act , чтобы получить "старый "значение.

Это '

5
ответ дан 3 December 2019 в 21:21
поделиться

У меня была такая же проблема, и я нашел решение на http://sqlblog.com/blogs/adam_machanic/archive/2009/08/24/dr-output-or- как-я-научился-перестать беспокоиться-и-любить-слияние.aspx

В основном он взламывает команду MERGE, чтобы использовать ее для вставки, чтобы вы могли получить доступ к исходному полю в предложении OUTPUT, которое не было вставлен.

MERGE INTO people AS tgt
USING #data AS src ON
    1=0 --Never match
WHEN NOT MATCHED THEN
    INSERT
    (
        name,
        current_salary
    )
    VALUES
    (
        src.name,
        src.salary
    )
OUTPUT
    src.input_surrogate,
    inserted.person_id
INTO #surrogate_map;
12
ответ дан 3 December 2019 в 21:21
поделиться