当前位置: 代码迷 >> Sql Server >> 求请问一遍历表存储过程
  详细解决方案

求请问一遍历表存储过程

热度:29   发布时间:2016-04-25 00:24:26.0
求请教一遍历表存储过程
本帖最后由 wdxgdiy 于 2012-12-12 11:00:43 编辑

首先有两个权限表和一个用户表

玩家权限
ID    NAME
0     无
1     VIP玩家

管理权限
ID    NAME
0     无
1     超级管理员

用户权限表
ID    NAME       玩家权限id      管理权限id        玩家权限到期时间
1     张三       1               0                 2013-1-1
2     李四       0               1                 null
3     王五       1               0                 2012-1-1
4     朱六       1               1                 2012-1-1

要求遍历表
当玩家权限到期时(不等于null 且小于当前时间) 判断有无管理权限(是否为0)
若无 则删除此条记录
若有 则更改用户表 玩家权限id为0  即无权限, 玩家权限到期时间更改为null

------解决方案--------------------
delete from 用户权限表 where (玩家权限到期时间 is null or 玩家权限到期时间>getdate()) and 管理权限id=0
update t 玩家权限id=0,玩家权限到期时间=null from 用户权限表 as t  (玩家权限到期时间 is null or 玩家权限到期时间>getdate()) and 管理权限id=1
  相关解决方案