我需要在插入和更新时检查表中的重复记录。以下是我的查询。在插入的情况下它工作正常,但在更新时失败。我无法弄清楚。请帮我。
Insert:
Set @Count = (Select ISNULL(Count(*),0) From AccountMaster Where [Name] = @Name and Id=@Id and Flag=1);
If @Count >0 and @InsertUpdateFlag=1
BEGIN
Set @DbErrormessage = 'Business Name and Account Id must be unique. Try again.';
END
更新 :
Set @Count = (Select Count(*) From AccountMaster Where [Name] = @Name and Id <> @Id and Flag=1);
If @Count >0 and @InsertUpdateFlag=2
BEGIN
Set @DbErrormessage = 'Business Name is in already in use by some other account. Try another one.';
END
更新的条件是Id和Name不能存在于数据库中。因此,我正在计算名称与任何其他 ID 不存在的情况。但似乎,不工作。
下面是我的表模式。
SELECT [PkId] //Primary Key as Int
,[Id] // Unique Key varchar(25)
,[Created]
,[Type]
,[Status]
,[Name] //Business Name
,[ContactPerson]
,[ContactNumber]
,[Email]
,[Address]
,[LocationId]
,[Remarks]
,[Flag]
FROM [AccountMaster]
ID 和企业名称在插入/更新时必须是唯一的。所以我需要在插入和更新时检查它。