update TableA set Field2=(case Field1 when A then ValueA when B then ValueB end)
update tableA set field2=(case field1 when A then valueA when B then valueB end)
不过,我觉得field2这个字段完全可以删除的。
update TableA set Field2=(case Field1 when 'A' then 'ValueA' when 'B' then 'ValueB' else '' end)
--触发器 create trigger tr_update on TableA for update as if update(Field1) update TableA set Field2='Value'+Field1 where Field1<>stuff(Field2,1,5,'') --因为不知道楼主的主键,所以这样判断
其实,可以不要 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)
用以下的视图也可以实现: create view as v_TableA as select Field1,Field2 = (case when field1 ='A' then 'ValueA' when field1 = 'B' then 'ValueB' end)
update tableA set field2=(case field1 when A then valueA when B then valueB end)
不过,我觉得field2这个字段完全可以删除的。
create trigger tr_update on TableA
for update
as
if update(Field1)
update TableA set Field2='Value'+Field1
where Field1<>stuff(Field2,1,5,'') --因为不知道楼主的主键,所以这样判断
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)
create view as v_TableA
as
select Field1,Field2 = (case when field1 ='A' then 'ValueA' when field1 = 'B' then 'ValueB' end)