Monday, April 27, 2020

looping with Pipe

WHILE LEN(@CandidateIds) > 0
BEGIN
IF PATINDEX('%|%',@CandidateIds) > 0
BEGIN
SET @CandidateId = CONVERT(BIGINT,(SUBSTRING(@CandidateIds, 0, PATINDEX('%|%',@CandidateIds))))
-- print @CandidateId
EXEC Proc @CandidateId,@FK_CorporateId,@FK_ProgramId,@Interview_DateTime,@Interview_Venue,@Interview_Remarks,@intInvitationStatus,@ReturnValue OUTPUT
SET @CandidateIds = SUBSTRING(@CandidateIds, LEN(CONVERT(VARCHAR(20),@CandidateId) + '|') + 1, LEN(@CandidateIds))

IF(@ReturnValue != 0 AND @ReturnValue != -1)
BEGIN
SET @DublicateCandidateIds = @DublicateCandidateIds + ',' + CONVERT(VARCHAR(20),@ReturnValue)
--print 'IF:' + @DublicateCandidateIds
END
END
ELSE
BEGIN
SET @CandidateId = CONVERT(BIGINT, @CandidateIds)
SET @CandidateIds = NULL
-- print @CandidateId
EXEC Proc_ @CandidateId,@FK_CorporateId,@FK_ProgramId,@Interview_DateTime,@Interview_Venue,@Interview_Remarks,@intInvitationStatus,@ReturnValue OUTPUT

IF(@ReturnValue != 0 AND @ReturnValue != -1)
BEGIN
SET @DublicateCandidateIds = @DublicateCandidateIds + ',' + CONVERT(VARCHAR(20),@ReturnValue)
--print 'ELSE:' + @DublicateCandidateIds
END
END
END

No comments: