0

当通过 MS SQL Server 2014 中的 C# 编程语言调用嵌入式 SQL 时,我在 Dispatching.PackageTrace 表上面临死锁问题。

下面是数据库中的表设计:

    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

下面嵌入式 SQL 在 MS SQL Server 2014 中通过 C# 编程语言调用:

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

建议非常感谢从僵局中克服。

先感谢您。——拉杰

4

0 回答 0