2009-10-22 9 views

Odpowiedz

40

Podaj i scope_identy() poda Ci numer nowy wiersz, czyli. po wstawieniu. Po aktualizacji tożsamość wiersza to ... @ Customer_ID lub @Handle_Id? Jeśli jest inna dziedzina, shoudl użyć klauzuli OUTPUT powrócić identyfikator zaktualizowanego rzędu:

UPDATE ITS2_UserNames 
SET AupIp = @AupIp 
OUTPUT INSERTED.PrimaryKeyID 
WHERE @Customer_ID = TCID AND @Handle_ID = ID 
+2

Zakładając, że jest na SQL2005/2008, oczywiście – MartW

+0

Nie, to w SQL 2000 oraz – MartW

+0

@CodeByMoonlight: Masz rację –

0

Jeśli chcesz dowiedzieć się zapisy, które pasują do tej aktualizacji należy zrobić wybierz z niego

Select IdColumn 
From ITS2_UserNames 
WHERE @Customer_ID = TCID AND @Handle_ID = ID 
+0

To nie zadziała, jeśli aktualizujesz kolumnę ur wybierając również na – Talon

1

Czy nie identyfikujesz wartości IDENTYFIKACJI rzędu już z @Handle_ID? Jeśli tak, to po prostu użyj:

SELECT @@ERROR AS Error, @@ROWCOUNT AS RowsAffected, @Handle_ID AS ID; 

Jeśli nie, to czy możesz wyjaśnić, która kolumna jest kolumną TOŻSAMOŚCI?

Powiązane problemy