我在SQL服務器ASP頁存儲會話變量與下面的存儲過程:什麼可能導致主鍵異常?
CREATE PROCEDURE [dbo].[MyProcedure]
@sessionId varchar(512),
@variable varchar(350),
@value image
AS
BEGIN
BEGIN TRAN
DECLARE @result int = 0;
DECLARE @locked bit;
IF (SELECT COUNT(*) FROM Sessions WHERE id = @sessionId) = 0
BEGIN
SET @result = -1;
END
ELSE BEGIN
DELETE Variables WHERE sessionId = @sessionId AND variable = @variable
IF @value IS NOT NULL
BEGIN
INSERT Variables VALUES(@sessionId, @variable, @value, 0)
END
END
COMMIT TRAN
RETURN @result
END
但是,一旦在一段時間,我得到一個主鍵異常(消息2627):「PRIMARY KEY約束的衝突‘PK_Variables’ 。不能在對象'dbo.Variables'中插入重複鍵「。 注意:沒有涉及觸發器。
謝謝!
我們可以有表格變量的結構嗎?您的變量主鍵是否自動增加? – bAN