USE [DLI_Testing] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[TestStart] @Subbank nchar(1), @SCN Nchar(7), @TCN nchar(3), @TestSection nvarchar(1) OUTPUT, @TestRestart nvarChar(1) OUTPUT, @ErrMsg nvarChar(100) OUTPUT AS BEGIN declare @iError int, @iRowCnt int, @RecExists int, @TotQst int --SET NOCOUNT ON; select @RecExists = 1 where @SCN not in (select SCN from TestResult) if @RecExists = 1 Begin begin transaction Insert into TestResult (Subbank,SCN,TCN) values('E0' + @Subbank, @SCN,@Tcn) select @iError = @@error, @iRowCnt = @@rowcount if @iError > 0 or @iRowCnt < 1 begin Set @ErrMsg = 'Initial Insert Fails ' + @iError raiserror('Error on Initial Insert into Result - %d',16,1, @iError) rollback transaction Return end else commit transaction Select @TestSection = 'L', @TestRestart = 'F' end else --Record already exists begin select @TestSection = Case (ListenTotal + ReadTotal) when 25 then 'R' when 0 then 'L' when 50 then 'F' end, @TestRestart = Case (ListenTotal + ReadTotal) when 25 then 'T' when 0 then 'F' when 50 then 'F' end from TestResult where SCN = @SCN end ENDHave at it