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
 

C# 异步执行SQL语句

异步执行SQL语句,试下就明白,无需解释 /// /// 按钮事件 异步执行 /// /// ...
  • lonestar555
  • lonestar555
  • 2012年06月15日 10:12
  • 5432

大白话解释互联网后台为什么常用异步server?

最近写了一个异步server, 所以来聊聊异步server:         互联网的后台开发就是一堆的server, 我们先来看看同步server的情况:           如上图, A是...
  • stpeace
  • stpeace
  • 2016年03月19日 09:11
  • 1728

异步执行SQL

参考文档: SqlCommand.BeginExecuteNonQuery 方法 (AsyncCallback, Object) 有些操作, 不是那么重要, 但偏偏运行时间比较长, 这种就非常影响用...
  • yenange
  • yenange
  • 2017年07月12日 16:39
  • 248

如何在ORACLE中异步调用存储过程的方法

在ORACLE数据库实际应用过程中,经常把业务处理逻辑的放在存储过程,客户端通过ADO进行调用。有些业务逻辑处理量大并且复杂,使客户端调用存储过程后,长时间没有反应,也不知存储过程运行状态,本文讲述如...
  • yellowd1
  • yellowd1
  • 2015年06月28日 16:05
  • 2212

如何在sqlserver中写存储过程

original link http://www.codeproject.com/Articles/126898/Sql-Server-How-to-write-a-Stored-procedur...
  • w_vc_love
  • w_vc_love
  • 2013年03月09日 16:53
  • 4854

SQL异步访问数据:Task和await

第一次听说,访问数据库竟然也有异步访问,以前只是在服务端听说有异步方法:[任务和线程,同步](http://blog.csdn.net/younghaiqing/article/details/570...
  • younghaiqing
  • younghaiqing
  • 2017年03月31日 11:28
  • 952

SQL Server 存储过程详解

一. 什么是存储过程系统存储过程是系统创建的存储过程,目的在于能够方便的从系统表中查询信息或完成与更新数据库表相关的管理任务或其他的系统管理任务。系统存储过程主要存储在master数据库中,以“sp”...
  • younghaiqing
  • younghaiqing
  • 2017年03月17日 11:38
  • 1381

SQL Server 存储过程示例

--有输入参数的存储过程-- create proc GetComment (@commentid int) as select * from Comment where CommentID=@com...
  • yan309271291
  • yan309271291
  • 2014年08月08日 13:34
  • 1661

Java调用SQL Server的存储过程详解

http://blog.csdn.net/java2000_net/article/details/2311956 转载自Microsoft的官方文档 http://msdn2.mi...
  • johnstrive
  • johnstrive
  • 2014年09月16日 09:44
  • 2578

SQL SERVER中 存储过程使用事务与捕获异常

一、格式类似于 CREATE PROCEDURE YourProcedure AS BEGIN SET NOCOUNT ON; BEGIN TRY-------...
  • whaxrl
  • whaxrl
  • 2016年05月11日 22:03
  • 2194
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlserver数据库异步处理的存储过程
举报原因:
原因补充:

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