如何自动每日执行查询SQL Server?

时间:2012-07-30 09:48:49

标签: sql-server

我有一些想要自动每天执行的查询。我应该将其创建为存储过程还是有其他方法?这是我的疑问:

declare @tanggal_1 varchar(50)

set @tanggal_1 = (select top 1 ltrim(rtrim(cast(numweek as char)))+'-('+rangeweek+')' from tbl_weeklyflash_id where year([date]) = year(getdate()) order by numweek desc)

TRUNCATE table mytable
GO
INSERT INTO mytable (field1, field2, field3)
EXEC my_store_procedure @tanggal_1
GO
UPDATE mytable SET 
 [field4] = isnull(((nullif([cm1pl2],0)/nullif([cm1pl2_per],0))*100),0)
,[field5] = isnull(((nullif([cm1pl1],0)/nullif([cm1pl1_per],0))*100),0)
,[field6] = isnull(((nullif([cm1_cost_value],0)/nullif([cm1_cost_per],0))*100),0)
GO

3 个答案:

答案 0 :(得分:3)

Create and schedule a job in sqlserver

我更喜欢编写SP,但您可以直接编写查询。

答案 1 :(得分:1)

你可以组建一个能够满足需要的代理人 参考:http://msdn.microsoft.com/en-us/library/ms191439.aspx

答案 2 :(得分:1)

一种方法是在sql server中编写查询和调度作业。

更好的方法是为该查询准备Windows计划。首先,您需要创建该查询的Store过程。之后转到Computer Managment(右键单击MyComputer并选择Manage)。并转到任务计划程序并创建新任务。为此你需要创建批处理文件来执行你需要每天运行的存储过程。