首先:
定時作業的制定
企業管理器
--管理
--SQL Server代理
--右鍵作業
--新增作業
--"常規"項中輸入作業名稱
--"步驟"項
--建立
--"步驟名"中輸入步驟名
--"類型"中選擇"Transact-SQL 指令碼(TSQL)"
--"資料庫"選擇執行命令的資料庫
--"命令"中輸入要執行的語句:
EXEC 預存程序名 ... --該預存程序用於建立表
--確定
--"調度"項
--建立調度
--"名稱"中輸入調度名稱
--"調度類型"中選擇你的作業執行安排
--如果選擇"反覆出現"
--點"更改"來設定你的時間安排
然後將SQL Agent服務啟動,並設定為自動啟動,否則你的作業不會被執行
設定方法:
我的電腦--控制台--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇"自動啟動"--確定.
注意的是:
1.在新增作業的屬性中的分類選擇“資料庫維護”2.在調度中對於選擇每天執行時,要選擇每天執行的具體時間點,確保在指定的時間執行步驟的sql命令。
SQL Server定時執行SQL語句
預存程序
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[autoModify]
as
declare @Id int
declare @Order_status int
declare @FHTime datetime
declare @Add_date datetime
declare pcurr cursor for
select Id,Order_status,dateadd(day,10,FHTime) as FHTime,
dateadd(day,14,Add_date) as Add_date from dbo.OrderInfo where Order_status=1 or Order_status=3
open pcurr
fetch next from pcurr into @Id,@Order_status,@FHTime,@Add_date
while (@@fetch_status = 0)
begin
if(@Order_status=3)
begin
if(@FHTime<getdate())
begin
--print 'a'
update dbo.OrderInfo set Order_status=4 where [Id]=@Id
end
end
else if(@Order_status=1)
begin
if(@Add_date<getdate())
begin
--print 'b'
update dbo.OrderInfo set Order_status=0 where [Id]=@Id
end
end
fetch next from pcurr into @Id,@Order_status,@FHTime,@Add_date
end
close pcurr
deallocate pcurr
exec [autoModify]