2010-07-19 5 views
0

У меня есть таблица контактов, содержащая имя emailid phoneno message answermessage как поля, по умолчанию ответное поле сообщения равно null после ответа на конкретное сообщение, я обновляю это поле, но в то же время я также хотите получить другие значения, также как имя и адрес электронной почты, используя операторы выбораВыберите и обновите в одном запросе

+0

я уже не понял, что вы имеете в виду. Вы хотите обновить одну или несколько записей и * затем показать другие записи? – frabiacca

+0

ya вы получили все правильно, я получил ответ и спасибо за ваш ответ – Mac

ответ

1

Вы утверждаете, что обновляете несколько строк или только один?

Если вы обновляете несколько строк, вы можете выбрать уязвимые идентификаторы строк в таблице temp, выполнить обновление, а затем вернуть соединение идентификаторов таблицы tmp в обновленной таблице.

Если вы обновляете одну строку, просто выполните выбор в этой строке после обновления.

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

У вас всегда может быть простое LastUpdated поле DATETIME в таблице. Тогда вам просто нужна переменная, которую вы установили для getdate() и используете во время обновления. После обновления просто верните каждую строку, где LastUpdated соответствует переменной datetime.

Например:

declare @opTime datetime 
set @opTime = getdate() 

update .... (...., LastUpdated) values (....., @opTime) 

select * from ... where LastUpdated = @opTime 
Смежные вопросы