56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
	
	
 | 
						|
/****** Object:  StoredProcedure [addSession] ******/
 | 
						|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[addSession]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
 | 
						|
    DROP PROCEDURE [addSession];
 | 
						|
GO
 | 
						|
	
 | 
						|
CREATE PROCEDURE [dbo].[addSession]
 | 
						|
 | 
						|
(
 | 
						|
	@UserID nvarchar(100),
 | 
						|
	@DTSDtart datetime,
 | 
						|
	@DTSEnd datetime=null,
 | 
						|
	@DTSActivity datetime,
 | 
						|
	@MachineName nvarchar(100),
 | 
						|
	@ProcessID int,
 | 
						|
	@newSessionID int output,
 | 
						|
	@newLastChanged timestamp output
 | 
						|
)
 | 
						|
WITH EXECUTE AS OWNER
 | 
						|
AS
 | 
						|
BEGIN TRY -- Try Block
 | 
						|
	BEGIN TRANSACTION
 | 
						|
	INSERT INTO [Sessions]
 | 
						|
	(
 | 
						|
		[UserID],
 | 
						|
		[DTSDtart],
 | 
						|
		[DTSEnd],
 | 
						|
		[DTSActivity],
 | 
						|
		[MachineName],
 | 
						|
		[ProcessID]
 | 
						|
	)
 | 
						|
	VALUES
 | 
						|
	(
 | 
						|
		@UserID,
 | 
						|
		@DTSDtart,
 | 
						|
		@DTSEnd,
 | 
						|
		@DTSActivity,
 | 
						|
		@MachineName,
 | 
						|
		@ProcessID
 | 
						|
	)
 | 
						|
	SELECT @newSessionID= SCOPE_IDENTITY()
 | 
						|
	SELECT 		@newLastChanged=[LastChanged]
 | 
						|
		FROM [Sessions] WHERE [SessionID]=@newSessionID
 | 
						|
	IF( @@TRANCOUNT > 0 ) COMMIT
 | 
						|
END TRY
 | 
						|
BEGIN CATCH -- Catch Block
 | 
						|
	IF( @@TRANCOUNT = 1 ) ROLLBACK -- Only rollback if top level
 | 
						|
 	ELSE IF( @@TRANCOUNT > 1 ) COMMIT -- Otherwise commit.  Top level will rollback
 | 
						|
	EXEC vlnErrorHandler
 | 
						|
END CATCH
 | 
						|
GO
 | 
						|
-- Display the status of Proc creation
 | 
						|
IF (@@Error = 0) PRINT 'Procedure Creation: addSession Succeeded'
 | 
						|
ELSE PRINT 'Procedure Creation: addSession Error on Creation'
 | 
						|
GO
 |