多个字段分别更新,如何用存储过程实现?
我所有的数据操作都用存储过程,
如果我分别要修改用户信息表中的不同字段,如果每个字段的更新都用一个存储过程当然简单,但太烦琐,也不够聪明。
我想都用一个存储过程来做,怕如果更新时别的字段因为是空值,将其清空了。
大家帮我想个法吧。
------解决方案--------------------传入参数为字段名和字段值不就可以更新所有字段了?
------解决方案--------------------在数据库里设个默认值default( ' ')不就成了吗?
------解决方案--------------------方法1)先指定好接口,譬如不需要更新的字段用特殊符号代替
譬如 exec aaa '??? ', 'userid ', '??? '
存储过程判断参数是不是指定的字符
方法2)先将记录取到出来,把不需要更新的字段也船进去
------解决方案--------------------create proc procname
(@columnname varchar(255)
@value datatype
)
as
declare @@sql varchar(500)
set @@varchar= 'update tablename( '+@columnname+ ') values( '+@value+ ') '
exec @@sql
------解决方案--------------------帮顶 !