
问题描述:
在表list中有
username login lotime
blueswordx 1 ASP会员登录时间[类型NOW()]
ASP网页中,怎样让lotime的时间过20分钟后让login的"1"变为"0"
解析:
如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQL Server代理->作业来实现。
1、管理->SQL Server代理->作业(按鼠标右键)->新建作业
2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->描述[填写本次工作详细描述内容];
创建作业分类的步骤: SQL Server代理->作业->右键选所有任务->添加、修改、删除
3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->数据库[要 *** 作的数据库]->命令 [ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql。文件如果要执行存储过程,填 exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN] ->确定 (如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);
4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->更改[调度时间表]->确定(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。
才1500条记录,怎么弄也花不了很长时间,也不会占很大资源。因为是两个不同的数据库所以用纯SQL是做不了的。只有读到服务器中做比较然后更新。
这样的 *** 作最好不要用框架,自己写也不是很难的,表2你只要读一次然后循环发update到表1里去,表1的数据库连接你创建一个就好了,你把它缓存了,在循环里不停的反复用(只用一个就行了不用写连接池,因为不涉及多线程,--千万不要发一条update建一个connection 然后关闭)整个过程大概不到一分中就完成(环境不一样会有一点出入)
任何疑问
blog.csdn.net/shmilyhe
mail:shmilyhe@163.com
SQL定时任务可以实时更新,但需要指定时间间隔。例如,可以每隔一小时就执行一次某个任务,或者每隔几分钟就执行一次特定的 *** 作。也可以设置每天执行一次,或者每周/月。这可以通过使用SQL Server Agent来实现,它可以让用户设置定时任务,以实现指定的更新频率。此外,用户可以使用SQL语句来设置定时任务。例如,可以使用一个SQL查询,来仅更新某一天的数据,或者仅更新特定时间段之间的数据。这样,用户可以动态地设置定时任务,以获得实时更新。
此外,也可以使用触发器来实现实时更新。触发器可以在特定的 *** 作发生时,立即执行特定的任务,以实现实时更新。例如,当数据库中的某一行数据发生变化时,可以设置一个触发器,立即执行相应的更新 *** 作。
总之,SQL定时任务可以实现实时更新,用户可以通过SQL Server Agent,SQL语句,以及触发器来实现实时更新。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)