2012-09-24 9 views

Odpowiedz

68

użycie zmiennej tabeli, aby uzyskać Numer ID

DECLARE @id int 
DECLARE @table table (id int) 
INSERT INTO MyTable(name) 
OUTPUT inserted.id into @table 
VALUES('XYZ') 

SELECT @id = id from @table 
+3

Thanks sir, nie jest to możliwe bezpośrednio przypisać do zmiennej int? –

+3

Nie, nie można użyć zmiennej lokalnej. Jeśli użyjesz powyższego kodu, możesz uzyskać dostęp do danych i ustawić wartość z tabeli na zmienną –

+17

@RakeshHolkar - Składnia INSERT pozwala na wstawienie wielu rekordów, więc składnia OUTPUT musi być w stanie obsłużyć wiele rekordów. W związku z tym, nawet jeśli wstawisz tylko jeden rekord, OUTPUT zwróci Ci zestaw danych. Mimo że zbiór ten jest pojedynczym wierszem z jednym tylko polem, jest zbiorem, a nie liczbą całkowitą. – MatBailie

Powiązane problemy