Как обновить значение в таблице - PullRequest
1 голос
/ 28 января 2010

У меня есть следующее утверждение выбора.Я хотел бы обновить значения ContactAssociate от 'Bob' до 'Jane'.Возможно ли это сделать?

SELECT TOP (1500) ContactID, ContactNotes, 
  ContactAssociate, ContactAppointment
FROM  
  tb_Contact
WHERE 
 (ContactAssociate = 'Bob') AND 
 (ContactAppointment = 0)

Ответы [ 2 ]

5 голосов
/ 28 января 2010

Использование:

UPDATE TB_CONTACT
   SET contactassociate = 'Jane'
 WHERE contactassociate = 'Bob'

В указанном вами запросе проверено, что contactappointment равно нулю - если вы хотите включить эту проверку, запрос будет:

UPDATE TB_CONTACT
   SET contactassociate = 'Jane'
 WHERE contactassociate = 'Bob'
   AND contactappointment = 0

Оператор UPDATE не поддерживает ключевое слово TOP, поэтому ваш оператор обновления будет:

UPDATE TB_CONTACT
   SET contactassociate = 'Jane'
 WHERE contactid IN (SELECT TOP (1500)
                            contactid 
                       FROM TB_CONTACT
                      WHERE contactassociate = 'Bob'
                        AND contactappointment = 0)

... но это даст случайные контакты - вы должны указать условие ORDER BY в подзапросе, чтобы получить согласованные результаты.

Справка:

1 голос
/ 28 января 2010
UPDATE tb_Contact SET ContactAssociate='Jane'
 WHERE ContactID IN
      (
           SELECT TOP (1500) ContactID
           FROM  tb_Contact
           WHERE (ContactAssociate = 'Bob') AND (ContactAppointment = 0)
      )
  • Общий учебник по ОБНОВЛЕНИЮ см. здесь .
  • Конкретный справочник по MSSQL см. здесь .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...