0

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

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
4

3 回答 3

3

在 sqlserver 中创建和调度作业

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

于 2012-07-30T09:53:31.137 回答
1

你可以做一个代理来做必要的事情。
参考:http: //msdn.microsoft.com/en-us/library/ms191439.aspx

于 2012-07-30T10:12:07.687 回答
1

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

其他方法是为该查询准备 Windows 计划。首先,您需要创建该查询的存储过程。之后转到计算机管理(右键单击我的计算机并选择管理)。并转到任务计划程序并创建新任务。为此,您需要创建批处理文件来执行您需要每天运行的存储过程。

于 2012-07-30T10:12:48.817 回答