как получить обновленную (не считаемую) строку при обновлении таблицы - PullRequest
3 голосов
/ 12 сентября 2009

Я хочу получить строки, которые обновляются командой update, но в результате появляется только количество строк, которые обновляются, но я хочу, чтобы целые строки были такими же, как в команде select, поэтому, пожалуйста, скажите, есть ли у кого-нибудь какие-либо идеи по этому поводу , Я пытался это.

update newTable set readKey='1' where id in (select id from newTable where id='1111')

результатом этой команды будут только строки, но не полные строки, но я хочу, чтобы целые строки отображались.

1 Ответ

8 голосов
/ 12 сентября 2009

Прежде всего, вы можете написать свой код проще:

update newTable set readKey='1' where id in ('1111')

В SQL Server будет возвращено только количество обновленных строк, но только если SET NOCOUNT не установлено.

Обычно вы можете выполнить второй запрос, чтобы отобразить результаты сразу после первого:

update newTable set readKey='1' where id in ('1111');
select * from newTable where id in ('1111');

Или, если это SQL Server 2005/2008, вы можете использовать предложение OUTPUT :

update  newTable 
set     readKey='1'
output  inserted.id,
        inserted.readKey as readKey,
        deleted.readKey as prevReadKey
where id in ('1111');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...