declare @Clx table(id int identity,duan int,bu int,bu1 int,bu2 int,bu3 int)
declare @ceng int
--id为已知变量@ceng
declare @c45 int
--现在根据@c45 的值更新表变量@Clx(@c45 值为0、1、2、3、4五者之一)
1.当@c45=0,不用处理
2.当@c45=1,对应id=@ceng行的列bu的值+1,列bu1的值+1
3.当@c45=2,对应id=@ceng行的列bu的值+1,列bu2的值+1
4.当@c45=3,对应id=@ceng行的列bu的值+1,列bu3的值+1
5.当@c45=4,对应id=@ceng行的列duan的值+1
---
请教一个不使用if,只使用case的sql代码?
declare @ceng int
--id为已知变量@ceng
declare @c45 int
--现在根据@c45 的值更新表变量@Clx(@c45 值为0、1、2、3、4五者之一)
1.当@c45=0,不用处理
2.当@c45=1,对应id=@ceng行的列bu的值+1,列bu1的值+1
3.当@c45=2,对应id=@ceng行的列bu的值+1,列bu2的值+1
4.当@c45=3,对应id=@ceng行的列bu的值+1,列bu3的值+1
5.当@c45=4,对应id=@ceng行的列duan的值+1
---
请教一个不使用if,只使用case的sql代码?
解决方案 »
- insert into tableName select ''如何插入null?
- 怎么多表查询
- 江湖救急,程序在Sql2000里运行的好好的, 升级到Sql2005里找不到dbo.sysproperties 表
- Datetime类型数据用like怎么查不到呢
- 怎么样在远程对服务端上的存储过程debug,回答正确,请到下文指定帖子拿分20
- 请问为什么我的程序在提交事务的时候会死锁(只有10分了)
- 跪求高手回答:计算机是如何判别中的“数据与指令”一下子好像还真想不明白
- SQL排序问题,字段中含有字母、数字、汉字,如何只按数字排序
- 在SQL SERVER中进行事务处理后SQL SERVER居然不释放占有的资源?怎么回事?
- mysql远程登陆
- SELECT @lMaxIndex = Max(lCompanyLogID) from ADCenter1.20070319.dbo.tCompanyLog
- 哪位大侠告诉我,到底这个存储过程该怎么改啊!!!
bu1=case @c45 when 1 then bu1+1 else bu1 end,
bu2=case @c45 when 2 then bu2+1 else bu2 end,
bu3=case @c45 when 3 then bu3+1 else bu3 end,
duan=case @c45 when 4 then duan+1 else duan end
where id=@ceng