update TableA set Field2=(case Field1 when A then ValueA when B then ValueB)

解决方案 »

  1.   

    update TableA set Field2=(case Field1 when A then ValueA when B then ValueB end)
      

  2.   


    update tableA set field2=(case field1 when A then valueA when B then valueB end)
      

  3.   


        不过,我觉得field2这个字段完全可以删除的。
      

  4.   

    update TableA set Field2=(case Field1 when 'A' then 'ValueA' when 'B' then 'ValueB' else '' end)
      

  5.   

    --触发器
    create trigger tr_update on TableA
    for update
    as
    if update(Field1)
    update TableA set Field2='Value'+Field1
    where Field1<>stuff(Field2,1,5,'')  --因为不知道楼主的主键,所以这样判断
      

  6.   

    其实,可以不要 Field2 这个字段,在查询时直接生成:select Field1,Field2=case when Field1 in('A','B') then 'Value'+Field1 end
    from TableA
    --或者直接为 Field2 设置公式,即在设计表时,在 Field2 字段的公式属性中写上
    case when Field1 in('A','B') then 'Value'+Field1 end--用SQL语句即为:
    create table TableA(Field1 varchar(10),Field2 as case when Field1 in('A','B') then 'Value'+Field1 end)
      

  7.   

    用以下的视图也可以实现:
    create view as v_TableA 
    as 
      select Field1,Field2 = (case when field1 ='A' then 'ValueA' when field1 = 'B' then 'ValueB' end)