I am facing deadlock problem on Dispatching.PackageTrace table when below Embedded SQL is invoked through C# programming language in MS SQL Server 2014.
Below is the table design in Database:
CREATE TABLE [Dispatching].[PackageTrace](
[PackageID] [uniqueidentifier] ROWGUIDCOL NOT NULL,
[PartitionID] [numeric](26, 0) NULL,
[Conduit] [nvarchar](255) NOT NULL,
PRIMARY KEY CLUSTERED
(
[PackageID] ASC
) GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [Dispatching].[PackageTrace] ADD DEFAULT (getdate()) FOR [DateCreated]
GO
below Embedded SQL is invoked through C# programming language in MS SQL Server 2014:
IF EXISTS(SELECT * FROM Dispatching.PackageTrace WHERE PackageID = 'klaslndsskok230m')
BEGIN
UPDATE [Dispatching].[PackageTrace] SET [Conduit] = @Conduit WHERE [PackageID] = 'klaslndsskok230m'
END
ELSE
BEGIN
INSERT INTO [Dispatching].[PackageTrace] ([PackageID] ,[PartitionID] ,[Conduit] VALUES (@PackageID, @PartitionID, @Conduit)
END
Suggestions really appreciated to overcome from deadlock.
Thank you in advance. --Raj