У меня есть хранимая процедура, с которой у меня возникают некоторые проблемы.
Я пытаюсь найти свою таблицу GOTWVotes
, и если VotedBy
не проголосовал, прежде чем написать голосованиев таблицу (это работает), однако, если VotedBy
проголосовал, прежде чем не записывать в таблицу и вернуть VoteCount
как 1.
Хотя он не записывает в таблицу, когда существует VotedBy
значение VoteCount
всегда выглядит как 0
Любая помощь будет оценена
CREATE PROCEDURE [dbo].[Votes]
@VotedMember BIGINT,
@VotedBy BIGINT
AS
DECLARE @votecount INT
BEGIN TRY
BEGIN TRANSACTION t_Transaction
SELECT TOP 1 * FROM [GOTWVotes] WITH (TABLOCKX)
SELECT @votecount = COUNT(*) FROM [dbo].[GOTWVotes]
WHERE [VotedBy] = @VotedBy
IF @votecount = 0
INSERT INTO
[dbo].[GOTWVotes] ([VotedMember],[VotedBy])
VALUES
(@VotedMember, @VotedBy)
COMMIT TRANSACTION t_Transaction
END TRY
BEGIN CATCH
SET @votecount = -1
ROLLBACK TRANSACTION t_Transaction
END CATCH
RETURN @votecount