sqlserver数据库异步处理的存储过程

转载 2007年09月21日 15:16:00

CREATE Procedure AsynchronousInvoking
 @EXECSQL nvarchar(4000)
AS

BEGIN TRANSACTION           
  DECLARE @JobID BINARY(16) 
  DECLARE @ReturnCode INT   
  SELECT @ReturnCode = 0    

BEGIN

  EXECUTE @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID OUTPUT ,
     @job_name = N'temp_sqljob',
     @owner_login_name = N'',
     @description = N'description for job',
     @category_name = N'[Uncategorized (Local)]',
     @enabled = 1,
     @notify_level_email = 0,
     @notify_level_page = 0,
     @notify_level_netsend = 0,
     @notify_level_eventlog = 0,
     @delete_level= 3
    
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
     @step_id = 1,
     @step_name = N'step1',
     @command = @EXECSQL,
     @database_name = N'master',
     @server = N'',
     @database_user_name = N'',
     @subsystem = N'TSQL',
     @cmdexec_success_code = 0,
     @flags = 0,
     @retry_attempts = 0,
     @retry_interval = 0,
     @output_file_name = N'',
     @on_success_step_id = 0,
     @on_success_action = 1,
     @on_fail_step_id = 0,
     @on_fail_action = 2
    
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


  EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID,
              @start_step_id = 1

  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
 

  EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID,
          @server_name = N'(local)'
         
  IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
 
END

COMMIT TRANSACTION         
GOTO   EndSave             

QuitWithRollback:
  IF (@@TRANCOUNT > 0) BEGIN
    ROLLBACK TRANSACTION
    RETURN 1
  END
EndSave:

EXEC @ReturnCode = msdb.dbo.sp_start_job @job_id = @JobID
 
RETURN @ReturnCode


GO
 

相关文章推荐

JAVA使用JDBC技术操作SqlServer数据库执行存储过程

JAVA使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带参...

数据库-存储过程-SQLServer

浅谈数据库之存储过程 什么是存储过程       如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。   竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存...

C#连接数据库sqlserver2005,执行存储过程的实例

C#连接数据库sqlserver2005,执行存储过程的实例: using System; using System.Collections.Generic; using System.Linq...

查询SQLServer2005中某个数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数

(1)查询SQLServer2005中某个数据库中的表结构 SELECT 表名      = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE '' E...

查询Sqlserver数据库死锁的一个存储过程

使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉。利用sp_who_loc...

C# 中的数据库操作~存储过程篇Mysql SqlServer

Mysql 存储过程查询方式 SQL server 普通数据库操作 EF 调用SQL SERVER存储过程Mysql存储过程查询方式: public NetPort GetNetdevicePor...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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