Я использую приведенный ниже код для обновления записи, она обновляет конкретную запись, но возвращает -1.
Я использую Dapper для выполнения этой процедуры:
ALTER PROCEDURE [dbo].[Contact]
@ContactId VARCHAR(50) ,
@AccountId VARCHAR(50) ,
@EmailAddress NVARCHAR(100)
AS
BEGIN
DECLARE MID bigint = 0
SELECT TOP 1 MID = CID
FROM Type3002
WHERE ATTRIBUTE_2710 LIKE CAST(@EMailAddress AS VARCHAR(100))
IF NOT EXISTS (SELECT * FROM Type3002
WHERE ContactId LIKE '%,' + CAST(@ContactId AS VARCHAR(100)) + ',%')
BEGIN
UPDATE Type3002
SET ATTRIBUTE_2710 = LEFT(@EMailAddress, 50),
ContactId = ContactId +',' + @ContactId,
AccountId = AccountId ++','+ @AccountId
WHERE CID = MID
END
ELSE IF NOT EXISTS (SELECT * FROM Type3002
WHERE AccountId LIKE '%,' + @AccountId + ',%'
AND ContactId LIKE '%,' + @ContactId)
BEGIN
UPDATE Type3002
SET AccountId = AccountId +','+ @AccountId
WHERE CID = MID
END
END
Код, который вызывает эту процедуру, выглядит так:
var result = await connection.ExecuteAsync("[Contact]",