请教:如何执行一个空的更新语句,使其不产生任何改变。
类似:
select * from tableName where 1=1
我想实现update语句的拼接,
update tableName set field0 = 1,field1=2,field2=3;
当条件都不成前时执行空语句:
update tableName set ;

解决方案 »

  1.   

    update   tableName   set   field0   =   field0   ,field1=field1,field2=field2; 
      

  2.   


    update   tableName   
       set   field0   =   CASE WHEN 条件 THEN 1 ELSE field0 END,
             field1   =   CASE WHEN 条件 THEN 2 ELSE field1 END,
             field2   =   CASE WHEN 条件 THEN 3 ELSE field2 END;
    给个条件,如果条件成立就修改,不成立就修改成原来的值就可以了! 
      

  3.   

    实试samfeng_2003的方法 
      

  4.   

    我的意思其实就是通过自定义类的方法来拼接sql语句,
    当条件成立时把
    field0 = 'xxx'
    ,field1 = 'xxx'
    ,field2 = 'xxx'
    ,field3 = 'xxx'
    加入到SQL语句中
    但是有可能条件不满足时执行空语句或者没有执行第一次语句field0 = 'xxx'
    SQL语句就变成了:
    update   tableName   set   ,field1=2,field2=3; 
    这样就出错了
    所以我想在之前加上:set field0=field0
    但是field0也不是每一张表都有的字段呢