CREATE PROCEDURE PRO_GetXiputu
@i_id int, --唯一标实
@i_key varchar(20),--要更新的字段名
@i_value varchar(20),--要更新的字段值
@o_retcode int output,--返回码
@o_retnote varchar(100) output
WITH ENCRYPTION
AS BEGIN
exec('
update 表 set username='myname'
where id=@id ....
')
END
@i_id int, --唯一标实
@i_key varchar(20),--要更新的字段名
@i_value varchar(20),--要更新的字段值
@o_retcode int output,--返回码
@o_retnote varchar(100) output
WITH ENCRYPTION
AS BEGIN
exec('
update 表 set username='myname'
where id=@id ....
')
END
@i_id int, --唯一标实
@i_key varchar(20),--要更新的字段名
@i_value varchar(20),--要更新的字段值
@o_retcode int output,--返回码
@o_retnote varchar(100) output
WITH ENCRYPTION
AS BEGIN
exec('
update 表 set username='myname'
where id=@id ....
')
ENDupdate 表 set username='myname' --这里@i_key = 'username',如果更新passwd那么@i_key = 'passwd'
我的意思是能否不用case语句或者if语句这样的分支结构直接用一句语句更新吗?
@i_id int, --唯一标实
@i_key varchar(20),--要更新的字段名
@i_value varchar(20),--要更新的字段值
@o_retcode int output,--返回码
@o_retnote varchar(100) output
WITH ENCRYPTION
AS BEGIN
exec('
update 表 set '+@i_key+'=+@i_value+' where id='+@i_id)
END