帮忙看看问题再哪里

天上下雨 2016-02-20 01:40:09
想要执行的是根据ID查询出isuse,如果isuse为1则修改为0,如果为0则修改为1
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天上下雨 2016-03-30
  • 打赏
  • 举报
回复
引用 3 楼 roy_88 的回复:
int+字符会报错,int类型优先于字符串,会把字符串转为int再加,在转换时会报错 用rtrim--把int转为字符再加,会把字符拼在一起
多谢啦,的确是这个问题!~
中国风 2016-02-20
  • 打赏
  • 举报
回复
int+字符会报错,int类型优先于字符串,会把字符串转为int再加,在转换时会报错 用rtrim--把int转为字符再加,会把字符拼在一起
中国风 2016-02-20
  • 打赏
  • 举报
回复
ALTER PROCEDURE [dbo].[Pavilion_UpdateUse] @PId int AS declare @temp int declare @sql varchar(1000) begin select @temp = [isuse] from [Pavilion] WHERE PId=@PId if @temp=0 begin set @sql = 'update [Pavilion] set [isuse]=1 WHERE PId='+RTRIM(@PId) end else begin set @sql = 'update [Pavilion] set [isuse]=0 WHERE PId='+RTRIM(@PId ) end exec(@sql) end --红色转为字符再加
天上下雨 2016-02-20
  • 打赏
  • 举报
回复
ALTER PROCEDURE [dbo].[Pavilion_UpdateUse] @PId int AS declare @temp int declare @sql varchar(1000) begin select @temp = [isuse] from [Pavilion] WHERE PId=@PId if @temp=0 begin set @sql = 'update [Pavilion] set [isuse]=1 WHERE PId='+@PId end else begin set @sql = 'update [Pavilion] set [isuse]=0 WHERE PId='+@PId end exec(@sql) end

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧