create procedure test as update 表 set sqFlag=1 where getdate()>spData
有个字段拼写错了,应该是 create procedure test as update 表 set sqFlag=1 where getdate()>sqData
谢谢,那么2、还有如何实现当系统的时间大于sqData时候能自动执行? 该如何实现,大哥
2、还有如何实现当系统的时间大于sqData时候能自动执行?这个问题要用作业来完成了 使用企业管理器 步骤:展开服务器组,然后展开服务器。展开"管理",然后展开"SQL Server 代理程序"。右击"作业",然后单击"新建作业"命令。在"名称"框中输入作业的名称,这里输入“myJOB”。如果不希望作业在创建后立即运行,则清除"启用"复选框。例如,如果要在按计划运行之前测试某个作业,则禁用该作业。打开“步骤”属性页,点击"新建",输入名称"Step_1",在,选择test数据库,在命令文本输入框中输入 exec test ,点击应用。打开 “调度”属性页,新建立一个调度”schedule_1“为作业指定反复执行的方式,每隔2分种等最后,点击“应用”,保存推出。注意,设置了作业后,要将sqlagent服务设置为自动启动,否则作业不会执行. 设置方法:我的电脑--控制面板--管理工具--服务--右键"SQLSERVERAGENT"--属性--启动类型,选择"自动"--确定 个设置要在重新启动操作系统时,才会生效,所以在重新启动之前,你要点启动按纽先启动它
不适合用存储过程,要用JOB,JOB执行的内容就是语句:update t_a set sqFlag = 1 where sqData < sysdate and sqData <> 1创建JOB example:/************************************************************************************/ variable job_num number; begin dbms_job.submit(:job_num,'update t_a set sqFlag = 1 where sqData < sysdate and sqData <> 1;',sysdate,'sysdate+1/1440'); --即每分钟运行一次 end; /************************************************************************************/
倒,偶弄错了,还以为是Oracle的问题呢,555~~
首先建立个存储过程: create proc P_test as begin update t_a set sqFlag=1 where sqData<getdate() end 通过建作业来实现"自动"执行,步骤:企业管理器中,管理——》SQL SERVER代理——》作业——》鼠标右键新建作业——》常规页中输入名称——》步骤页中新建步骤、输入名称、加入更新一条纪录的SQL语句(在这里加加入调用上面的存储过程:exec P_test)——》调度页中新建调度、输入名称,选择反复出现(你可以根据你表的记录来设置循环时间:如5分钟),更改时间——》OK完了之后,若没有启动SQL Agent,则在服务管理器——》SQL Agent选上当启动OS时自动启动再在企业管理器中,鼠标右键刚才建的作业——》启动作业——》OK
第一个解决了不过语句应该写成 update t_ywzl_sqcx set scFlag=1 where left(getDate(),10)> left(jsdate,10) 否则,当天的也会修改。 第二个自动执行还没搞定。
as
update 表 set sqFlag=1 where getdate()>spData
create procedure test
as
update 表 set sqFlag=1 where getdate()>sqData
该如何实现,大哥
使用企业管理器
步骤:展开服务器组,然后展开服务器。展开"管理",然后展开"SQL Server 代理程序"。右击"作业",然后单击"新建作业"命令。在"名称"框中输入作业的名称,这里输入“myJOB”。如果不希望作业在创建后立即运行,则清除"启用"复选框。例如,如果要在按计划运行之前测试某个作业,则禁用该作业。打开“步骤”属性页,点击"新建",输入名称"Step_1",在,选择test数据库,在命令文本输入框中输入
exec test ,点击应用。打开 “调度”属性页,新建立一个调度”schedule_1“为作业指定反复执行的方式,每隔2分种等最后,点击“应用”,保存推出。注意,设置了作业后,要将sqlagent服务设置为自动启动,否则作业不会执行.
设置方法:我的电脑--控制面板--管理工具--服务--右键"SQLSERVERAGENT"--属性--启动类型,选择"自动"--确定
个设置要在重新启动操作系统时,才会生效,所以在重新启动之前,你要点启动按纽先启动它
variable job_num number;
begin
dbms_job.submit(:job_num,'update t_a set sqFlag = 1 where sqData < sysdate and sqData <> 1;',sysdate,'sysdate+1/1440'); --即每分钟运行一次
end;
/************************************************************************************/
create proc P_test
as
begin
update t_a set sqFlag=1 where sqData<getdate()
end
通过建作业来实现"自动"执行,步骤:企业管理器中,管理——》SQL SERVER代理——》作业——》鼠标右键新建作业——》常规页中输入名称——》步骤页中新建步骤、输入名称、加入更新一条纪录的SQL语句(在这里加加入调用上面的存储过程:exec P_test)——》调度页中新建调度、输入名称,选择反复出现(你可以根据你表的记录来设置循环时间:如5分钟),更改时间——》OK完了之后,若没有启动SQL Agent,则在服务管理器——》SQL Agent选上当启动OS时自动启动再在企业管理器中,鼠标右键刚才建的作业——》启动作业——》OK
update t_ywzl_sqcx set scFlag=1 where left(getDate(),10)> left(jsdate,10)
否则,当天的也会修改。
第二个自动执行还没搞定。
用触发器怎么做呀
netcoder(朱二) ( )、vinsonshen(猪骨褒咸鱼->味道没得顶) 正解。
给点分吧!