--每月執行的作業
exec p_createjob @jobname='mm',@sql='select * from syscolumns',@freqtype='month'
--每週執行的作業
exec p_createjob @jobname='ww',@sql='select * from syscolumns',@freqtype='week'
--每日執行的作業
exec p_createjob @jobname='a',@sql='select * from syscolumns'
--每日執行的作業,每天隔4小時重複的作業
exec p_createjob @jobname='b',@sql='select * from syscolumns',@fsinterval=4
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[p_createjob]') and objectproperty(id, n'isprocedure') = 1)
drop procedure [dbo].[p_createjob]
gocreate proc p_createjob
@jobname varchar(100),--作業名稱
@sql varchar(8000),--要執行的命令
@dbname sysname='',--預設為當前的資料庫名
@freqtype varchar(6)='day',--時間週期,month 月,week 周,day 日
@fsinterval int=1,--相對於每日的重複次數
@time int=170000--開始執行時間,對於重複執行的作業,將從0點到23:59分
asif isnull(@dbname,'')='' set @dbname=db_name()
--建立作業
exec msdb..sp_add_job @job_name=@jobname
--建立作業步驟
exec msdb..sp_add_jobstep @job_name=@jobname,
@step_name = '資料處理',
@subsystem = 'tsql',
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重試次數
@retry_interval = 5 --重試間隔
--建立排程
declare @ftype int,@fstype int,@ffactor int
select @ftype=case @freqtype when 'day' then 4
when 'week' then 8
when 'month' then 16 end
,@fstype=case @fsinterval when 1 then 0 else 8 end
if @fsinterval<>1 set @time=0
set @ffactor=case @freqtype when 'day' then 0 else 1 end
exec msdb..sp_add_jobschedule @job_name=@jobname,
@name = '時間安排',
@freq_type=@ftype ,--每天,8 每週,16 每月
@freq_interval=1,--重複執行次數
@freq_subday_type=@fstype,--是否重複執行
@freq_subday_interval=@fsinterval, --重複週期
@freq_recurrence_factor=@ffactor,
@active_start_time=@time --下午17:00:00分執行
-- 新增目標伺服器
exec msdb.dbo.sp_add_jobserver
@job_name = @jobname ,
@server_name = n'(local)'go
MySQL資料庫 Event 定時執行任務
由於專案的業務是不斷往前跑的,所以難免資料庫的表的量會越來越龐大,不斷的擠占硬碟空間。即使再大的空間也支撐不起業務的增長,所以定期刪除不必要的資料是很有必要的。在我們專案中由於不清理資料,乙個表佔的空間竟然達到了4g之多。想想有多可怕.這裡介紹的是用mysql 建立乙個定時器event,定期清除掉之...
定時執行Oracle作業任務
img 建立乙個oracle資料表,並建立乙個過程,使一分鐘執行該過程一次。1 建立表。sql create table test mydate date table created.2 建立乙個自定義過程。sql create or replace procedure proc test as 2...
建立oracle定時執行任務
說明 本文乃我的同事陳為的原創 功能說明 實現定時插入資料 此demo 實現每分鐘插入一條資料 1 建立測試 和自增序列 createtabletest idnumber,namevarchar2 100 number,timedate createsequencetest job minvalue...