I want to use CASE statement to update some records in sql server 2005

后端 未结 3 972
梦谈多话
梦谈多话 2020-11-28 18:59
UPDATE dbo.TestStudents  
SET LASTNAME = 
( CASE  
WHEN (LASTNAME = \'AAA\') THEN \'BBB\' 
WHEN (LASTNAME = \'CCC\') THEN \'DDD\' 
WHEN (LASTNAME = \'EEE\') THEN \'F         


        
3条回答
  •  抹茶落季
    2020-11-28 19:02

    If you don't want to repeat the list twice (as per @J W's answer), then put the updates in a table variable and use a JOIN in the UPDATE:

    declare @ToDo table (FromName varchar(10), ToName varchar(10))
    insert into @ToDo(FromName,ToName) values
     ('AAA','BBB'),
     ('CCC','DDD'),
     ('EEE','FFF')
    
    update ts set LastName = ToName
    from dbo.TestStudents ts
           inner join
         @ToDo t
           on
             ts.LastName = t.FromName
    

提交回复
热议问题