SQL更新存储过程怎么写
答案:5 悬赏:20 手机版
解决时间 2021-04-02 02:05
- 提问者网友:寂寞撕碎了回忆
- 2021-04-01 06:33
SQL更新存储过程怎么写
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-04-01 07:17
你用存储过程构造一个更新的UPDATE就好了
这个存储过程 有几个参数 ,
第一 表名 第二 更新的字段名 第三 更新的条件
然后拼接成SQL语句
直接EXEC @SQL 就好了
这个存储过程 有几个参数 ,
第一 表名 第二 更新的字段名 第三 更新的条件
然后拼接成SQL语句
直接EXEC @SQL 就好了
全部回答
- 1楼网友:第幾種人
- 2021-04-01 09:55
应该是if语句判断然后写更新语句,你说得太模糊没法写。
- 2楼网友:千杯敬自由
- 2021-04-01 09:38
照你这样说,我觉的是一个选择更新语句,选择更新那个字段,然后更新该字段,把不需要更新得字段的原值不改变。
- 3楼网友:执傲
- 2021-04-01 08:04
create proc tt
@table varchar(5),--要更新的表名
@column varchar(50)--要更新的字段名
@newvalue int --更新后的值
@nid int --要更新行的标识
as
declare @sql nvarchar(50),@parm nvarchar(50)
set @sql ='update '+@table +' set '+@column +'=@new where id =@id'
set @parm='@new int,@id int'
exec sp_executesql @sql,@parm,@new=@newvalue,@id=@nid追问谢谢你的回答。可能是我的问题没说清楚。我有一个表,表中有ID号,这个是主键,姓名,班级,地址,电话这几个字段。但有的时候有些人的地址会变,有些人的电话会变化,所以我想写一个存储过程,如果有人电话变的时候,只更新这个人的电话就行,其他一切信息不变,而有的人地址变了,就只更新地址,其他信息不变,因为每次更新的字段不同,可能这次更新地址,下次就更新电话了,所以可不可能写出一个可以选择更新字段的存储过程追答这个过程就能满足你的要求啊 传入表名,字段名,新值 ,主键值 就行了追问
我创建了一个存储过程,可我发现更新不了,我输入了参数,也可以执行,但结果还是原来的,不是更新过的。这是我的代码:
@table varchar(5),--要更新的表名
@column varchar(50)--要更新的字段名
@newvalue int --更新后的值
@nid int --要更新行的标识
as
declare @sql nvarchar(50),@parm nvarchar(50)
set @sql ='update '+@table +' set '+@column +'=@new where id =@id'
set @parm='@new int,@id int'
exec sp_executesql @sql,@parm,@new=@newvalue,@id=@nid追问谢谢你的回答。可能是我的问题没说清楚。我有一个表,表中有ID号,这个是主键,姓名,班级,地址,电话这几个字段。但有的时候有些人的地址会变,有些人的电话会变化,所以我想写一个存储过程,如果有人电话变的时候,只更新这个人的电话就行,其他一切信息不变,而有的人地址变了,就只更新地址,其他信息不变,因为每次更新的字段不同,可能这次更新地址,下次就更新电话了,所以可不可能写出一个可以选择更新字段的存储过程追答这个过程就能满足你的要求啊 传入表名,字段名,新值 ,主键值 就行了追问
我创建了一个存储过程,可我发现更新不了,我输入了参数,也可以执行,但结果还是原来的,不是更新过的。这是我的代码:
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯