我所有的数据操作都用存储过程,如果我分别要修改用户信息表中的不同字段,如果每个字段的更新都用一个存储过程当然简单,但太烦琐,也不够聪明。
我想都用一个存储过程来做,怕如果更新时别的字段因为是空值,将其清空了。大家帮我想个法吧。

解决方案 »

  1.   

    在数据库里设个默认值default('')不就成了吗?
      

  2.   

    方法1)先指定好接口,譬如不需要更新的字段用特殊符号代替譬如 exec aaa  '???','userid','???'
    存储过程判断参数是不是指定的字符
    方法2)先将记录取到出来,把不需要更新的字段也船进去
      

  3.   

    存储过程中能不能这样写:?????
    if (修改字段1)
    {
     updata 字段1 value(xx);
    }
    if (修改字段2)
    {
     updata 字段2 value(xx);
    }
      

  4.   

    create proc procname
    (@columnname varchar(255)
     @value  datatype
    )as declare @@sql varchar(500)set @@varchar='update tablename('+@columnname+') values('+@value+')'
    exec @@sql