INSERT INTO dbo.UserGiftJDCardRela
( UserGiftID ,
CardID ,
IsActive ,
CreateTime ,
DetailID
)
SELECT @UserGiftID ,
ID ,
1 ,
GETDATE() ,
DetailID
FROM #NoGetJDCard
WHERE DetailID > 0;
有事务里有这样一段代码,已经判断了 WHERE DetailID > 0,为什么插入的数据,DetailID字段还有为null的呢
------解决思路----------------------
改一下写法试试 isnull(detailid,0)>0
------解决思路----------------------
正解,对于null值,使用><=去判断结果都为真。要用is null或者not is null来判断
------解决思路----------------------
运行这句看看,有没有DetailID=null的
SELECT @UserGiftID ,
ID ,
1 ,
GETDATE() ,
DetailID
FROM #NoGetJDCard
WHERE DetailID > 0;
------解决思路----------------------
并发高是啥原因,事务太长了么