我有一个带有日期字段的表,我希望在该日期到达当前日期时执行某个查询。有没有办法在Sql Server上做到这一点?
答案 0 :(得分:0)
您可以创建一个sql server代理作业,以便每天检查日期列,如果已到达,则执行查询。
答案 1 :(得分:0)
一种方式或者说好的方法是制作一个Sql - 作业,其次是触发器。但触发器不合适,也不建议使用。
Sqljob是自动化过程,只需给出日期时间,它将自动执行。在那里你调用sp,首先检查日期,然后根据需要进行处理。
首先创建一份工作,请查看链接
http://www.databasedesign-resource.com/sql-server-jobs.html
http://forums.asp.net/p/1364020/2826971.aspx
现在创建一个由作业执行的sp(这是示例)...
create procedure spname()
as
begin
declare @currentdate datetime = getdate()
declare @tempdateToCheck datetime = (select datecolumn from tablename where ....give condition if any )
if(@tempdateToCheck >= @currentdate)
begin
--execute statement you want like
insert tablename .... --insert statement
update tablename.... --update statement
declare @tempvariable1 int --anydatatype you define and any no. of variable, you want.
select @tempvariable1 = columnname from tablename
update tablename1 set columname = @tempvariable1 where condition
end
end