name age status
张三 15 0
李四 50 1
王二 36 1
我想在给张三设置状态=1 的同时,更新表中所有status=1的人让他们status=2,只保证这一列中只有 1个人状态=1
只在oracle中做,不在程序中做
解决了还会加分
oracle如何保证一列中,一个值的唯一性
答案:2 悬赏:50 手机版
解决时间 2021-01-31 04:07
- 提问者网友:谁的错
- 2021-01-30 18:18
最佳答案
- 五星知识达人网友:鱼忧
- 2021-01-30 18:34
--思路做个存储过程就行,取名UpdateStatus,执行这个存储过程,传参就是这个人名,
--第一步,给所有status=1的人update成status=2,
--第二步,给name=参数的人,update status =1
--然后你只需要exec UpdateStatus这个存储过程,代码如下
create procedure UpdateStatus(@name varchar(20))
as
Begin
update tablename set status =2 where status =1
update tablename set status =1 where name =@name
Exception
When others then
Rollback;
End;
--第一步,给所有status=1的人update成status=2,
--第二步,给name=参数的人,update status =1
--然后你只需要exec UpdateStatus这个存储过程,代码如下
create procedure UpdateStatus(@name varchar(20))
as
Begin
update tablename set status =2 where status =1
update tablename set status =1 where name =@name
Exception
When others then
Rollback;
End;
全部回答
- 1楼网友:独行浪子会拥风
- 2021-01-30 18:44
select no,min(时间) from 表名 group by no
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯