Я думаю, что @pauloya пытался сказать:
если вы обновите таблицу, то у вас есть предложение WHERE
, поэтому, если вы используете это же предложение where для выбора с INTO #tempTable
, все ваши строки будут затронуты UPDATE
.
Итак, вы можете пойти:
SELECT
userName.ID
INTO #temp
FROM ITS2_UserNames AS userNames
WHERE @Customer_ID = TCID AND @Handle_ID = ID
тогда вы обновляете
UPDATE ITS2_UserNames
SET AupIp = @AupIp
WHERE @Customer_ID = TCID AND @Handle_ID = ID
наконец вы можете вернуть все идентификаторы, затронутые вашим обновлением
SELECT * FROM #temp
Вы можете сделать это с помощью OUTPUT
, но вам нужно будет объявить таблицу переменных, например
DECLARE @tempTable TABLE ( ID INT );
и затем вы используете OUTPUT
UPDATE ITS2_UserNames
SET AupIp = @AupIp
OUTPUT INSERTED.ID
INTO @tempTable
WHERE @Customer_ID = TCID AND @Handle_ID = ID