数据库中每天按时调用

来源:百度知道 编辑:UC知道 时间:2024/05/09 18:28:48
我现在有一个业务上的需求
在数据库中
例如有表A,里面有两个字段一个state 和 datetime
我想要实现每天的中午12:00
定时调用
update A set state=0 where datetime<现在的时间(xxxx年xx月xx日)

请问各位数据库方面的精英,这个业务需求要怎么实现
还有就是不同数据库之间的应该怎么写
Oracle:???
MSServer:???
MySql:???
希望各位指教
答案全面,还会追加分数

如果在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、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->

更改[调度时间表]->确定

(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);
最后
SQL Server代理 要启动。
其他的数据库也应该是差不多的。

oracle 调用 job