Jeśli mam instrukcji INSERT, takich jak:Jak użyć wyrażenia OUTPUT instrukcji INSERT, aby uzyskać wartość tożsamości?
INSERT INTO MyTable
(
Name,
Address,
PhoneNo
)
VALUES
(
'Yatrix',
'1234 Address Stuff',
'1112223333'
)
Jak ustawić @var INT
wartości tożsamości nowego wiersza (określane Id
) przy użyciu klauzula wyjście? Widziałem na przykład próbki wprowadzania INSERTED.Name do zmiennych tabeli, ale nie mogę pobrać go do zmiennej innej niż tabela.
Próbowałem już OUPUT INSERTED.Id AS @var
, SET @var = INSERTED.Id
, ale żadne z nich nie zadziałało.
Wiem o @@ SCOPE_IDENTITY już, chcę wiedzieć, jak to zrobić z OUPUT. Dzięki. – Yatrix
Należy wstawić go do zmiennej tabeli, a następnie wybrać z niej. Nie ma żadnej składni, która byłaby przypisana bezpośrednio do zmiennej skalarnej z klauzuli "WYJŚCIE". –
Klauzula OUTPUT (http://msdn.microsoft.com/en-us/library/ms177564.aspx) musi zostać wyprowadzona do zmiennej tabeli lub tabeli. – mellamokb