创建作业的通用存储过程

转载 2005年05月03日 17:01:00

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_JobSet]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_JobSet]
GO

/*--定时调用存储过程

 创建一个在指定时间,调用指定存储过程的作业
 作业执行完成后会自动删除

--邹建 2004.07(引用请保留此信息)--*/

/*--调用示例

 exec p_JobSet 'master.dbo.xp_cmdshell','2004-1-1 10:30'
--*/
create proc p_JobSet
@prorcname sysname, --要调用定时调用的存储过程名,如果不在当前库中,则用:库名.所有者名.存储过程名
@job_date datetime --存储过程的执行时间(包括时间信息)
as
declare @dbname sysname,@jobname sysname
 ,@date int,@time int

select @jobname='定时发送作业_'+cast(newid() as varchar(36))
 ,@date=convert(varchar,@job_date,112)
 ,@time=replace(convert(varchar,@job_date,108),':','')

if exists(select 1 from msdb..sysjobs where name=@jobname)
 exec msdb..sp_delete_job @job_name=@jobname

--创建作业
exec msdb..sp_add_job @job_name=@jobname,@delete_level=1

--创建作业步骤
declare @sql varchar(800)
select @sql='exec '+@prorcname
 ,@dbname=db_name()

exec msdb..sp_add_jobstep @job_name=@jobname,
 @step_name = '发送处理步骤',
 @subsystem = 'TSQL',
 @database_name=@dbname,
 @command = @sql,
 @retry_attempts = 5,   --重试次数
 @retry_interval = 5    --重试间隔

--创建调度
EXEC msdb..sp_add_jobschedule @job_name = @jobname,
 @name = '时间安排',
 @enabled = 1,
 @freq_type = 1,
 @active_start_date = @date,
 @active_start_time = @time

-- 添加目标服务器
EXEC msdb.dbo.sp_add_jobserver
 @job_name = @jobname ,
 @server_name = N'(local)'
go

Oracle实现创建作业定时执行存储过程

Oracle实现创建作业定时执行存储过程:    1,创建表tb_test用来插入存储过程执行时产生的数据。          create table tb_test (date_tim...
  • guofeihu627
  • guofeihu627
  • 2014年11月21日 10:35
  • 450

创建作业的通用存储过程

if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_JobSet]) and OBJECTPROPERTY(i...
  • changjiangzhibin
  • changjiangzhibin
  • 2008年04月21日 00:54
  • 347

创建作业的通用存储过程

if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_JobSet]) and OBJECTPROPERTY(i...
  • zhaowei001
  • zhaowei001
  • 2008年01月03日 15:24
  • 112

sql作业定时执行存储过程

在网上看到一份很好的博客,原文网址:http://blog.csdn.net/ljyabc1028/article/details/6404129这里摘抄下来: SQL2008如何创建定时作业?此方...
  • mx5721
  • mx5721
  • 2012年08月22日 16:13
  • 584

sql server 脚本创建备份数据库的存储过程及利用前述存储过程自动备份数据库的作业

一、创建备份数据库的存储过程 /****** Object: Procedure [dbo].[SP_BackUp_DataBase_Log] Script Date: 3/10/2017 2:...
  • hejisan
  • hejisan
  • 2017年03月10日 15:09
  • 532

SQLServer 手动创建作业

如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQL Server代理->作业来实现。  1、管理->SQL Server代理-...
  • chenzongcheng
  • chenzongcheng
  • 2007年05月23日 09:18
  • 1630

作业中调用存储过程不成功

我在sql server 2000上建立了一个连接oracle 9i的链接服务器存储过程中用到了这个链接服务器,我在查询分析器下执行成功,但在作业中调用存储过程不成功出错提示如下:执行用户: NT A...
  • lee576
  • lee576
  • 2007年11月27日 09:30
  • 2354

SQL Server 一个比较通用的分页存储过程

包括了: 分页 和 排序USE [DataBaseName]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCreate procedure [dbo]....
  • NRlovestudy
  • NRlovestudy
  • 2015年07月15日 11:16
  • 564

sql数据库作业,定期执行存储过程

IF EXISTS (        SELECT *        FROM   dbo.sysobjects        WHERE  id = OBJECT_ID(N'[dbo].[Jo...
  • AllCanResolved
  • AllCanResolved
  • 2013年04月15日 09:08
  • 1960

通用分页存储过程的使用

看着同事写的通用分页存储过程觉得还不错,分享给大家 1、存储过程 USE [test] GO /****** Object:  StoredProcedure [dbo]....
  • f10_s
  • f10_s
  • 2013年09月10日 16:35
  • 1356
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:创建作业的通用存储过程
举报原因:
原因补充:

(最多只允许输入30个字)