新手问题,这个触发器应该怎么写?
表名:[user] 
 字段:user_id,user_state,leave_time 
 user_id为会员ID 
 user_state为会员在线状态,会员登陆时为1 
 leave_time为会员最近登陆时间   
 请问怎么写一个触发器来判断,会员登陆时间超过10分钟,则user_state变为0. 
------解决方案--------------------会员登陆时间超过10分钟,则user_state变为0   
 -----------   
 這個需要你在前台判斷,然後執行一條更新語句即可。
------解决方案--------------------触发器做不了吧. 
 这种东西一般在程序中用定时器做
------解决方案--------------------不用触发器,用作业(JOB)来实现定时处理。   
 ------------------------------------------------- 
 企业管理器 
   --管理 
   --SQL Server代理 
   --右键作业 
   --新建作业 
   -- "常规 "项中输入作业名称 
   -- "步骤 "项 
     --新建 
     -- "步骤名 "中输入步骤名 
     -- "类型 "中选择 "Transact-SQL 脚本(TSQL) " 
     -- "数据库 "选择执行命令的数据库 
     -- "命令 "中输入要执行的语句: 
       update [user] set user_state=0 where datediff(mi,leave_time,getdate())=10 
     --确定 
   -- "调度 "项 
     --新建调度 
     -- "名称 "中输入调度名称 
     -- "调度类型 "中选择你的作业执行安排 
       --如果选择 "反复出现 " 
         --点 "更改 "来设置你的时间安排     
 然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行   
 设置方法: 
 我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择 "自动启动 "--确定.
------解决方案--------------------这个用触发器好像不行吧!  可以考虑用job每分钟监测一下[user]这个表,如果会员最近登陆时间和当前时间比较,超过10分钟,就update这个user_state变为0.
------解决方案--------------------建一个作业,每1分钟执行一下这个语句,误差不会超过1分钟   
 update [user] 
 set user_state = 0 
 where leave_time  <= datediff(mi,-10,getdate()) 
------解决方案--------------------语句写错了,改改   
 update [user] 
 set user_state = 0 
 where leave_time  <= dateadd(mi,-10,getdate())   
------解决方案----------------------修改一下SQL语句: 
 update [user] set user_state=0 where user_state=1 and datediff(mi,leave_time,getdate())> =10