需要在sqlserver中同时限制表中的插入行

时间:2016-12-19 13:28:12

标签: sql-server-2008

我在将数据插入表格时遇到了一个问题。 第一次我必须插入一个表,下次我必须更新相同的行,无论我插入什么。 当第一次插入多个调用时,同时会在表中插入两个记录。 我已经检查了IF NOT EXISTS检查查询,但同时在表中插入了两条记录。请在下面查询

**

IF NOT EXISTS(SELECT 1 FROM TableName WITH(NOLOCK) WHERE <Condition>)  
 BEGIN  
    INSERT INTO TableName
  VALUES
  ()**

我修复了上面的问题,检查了insert命令中的where条件,如下面的代码。

**

IF NOT EXISTS(SELECT 1 FROM TableName WITH(NOLOCK) WHERE <Condition>)  
 BEGIN  
   INSERT INTO Alert  
  SELECT   
   WHERE (
   SELECT COUNT(1) FROM TableName WITH(NOLOCK)
   WHERE <Condition>) = 0**

请建议任何更好的方式或上述方法更好。我不想使用唯一约束。

提前致谢。

0 个答案:

没有答案