如何更新表中的值

Chi*_*hin 1 sql t-sql sql-server

我有以下select语句.我想将ContactAssociate的值从'Bob'更新为'Jane'.是否有可能做到这一点?

SELECT TOP (1500) ContactID, ContactNotes, 
  ContactAssociate, ContactAppointment
FROM  
  tb_Contact
WHERE 
 (ContactAssociate = 'Bob') AND 
 (ContactAppointment = 0)
Run Code Online (Sandbox Code Playgroud)

OMG*_*ies 5

使用:

UPDATE TB_CONTACT
   SET contactassociate = 'Jane'
 WHERE contactassociate = 'Bob'
Run Code Online (Sandbox Code Playgroud)

您提供的查询检查contactappointment为零 - 如果您想要包含该检查,则查询将是:

UPDATE TB_CONTACT
   SET contactassociate = 'Jane'
 WHERE contactassociate = 'Bob'
   AND contactappointment = 0
Run Code Online (Sandbox Code Playgroud)

UPDATE语句不支持该TOP关键字,因此您的更新语句将为:

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

...但是这将提供随机联系 - 您应该ORDER BY在子查询中指定一个子句以获得一致的结果.

参考: