当前位置: 代码迷 >> Sql Server >> 求大神帮忙,解决方案
  详细解决方案

求大神帮忙,解决方案

热度:138   发布时间:2016-04-24 08:45:32.0
求大神帮忙,急

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
------解决思路----------------------
引用:
改一下写法试试  isnull(detailid,0)>0

正解,对于null值,使用><=去判断结果都为真。要用is null或者not is null来判断
------解决思路----------------------
运行这句看看,有没有DetailID=null的

SELECT  @UserGiftID ,
                            ID ,
                            1 ,
                            GETDATE() ,
                            DetailID
                    FROM    #NoGetJDCard
                    WHERE   DetailID > 0;
------解决思路----------------------
并发高是啥原因,事务太长了么
  相关解决方案