>>>select @RecExists = cast( case when exists (select 1 from TestResult where SCN = @SCN) then 1 else 0 end as bit) >>>>>>
>>>>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 >>>>END >>>>>>>>