DECLARE @PathIDStr nvarchar(400)
DECLARE @PathNameStr nvarchar(400)

  BEGIN
SET @PathIDStr=Convert(nvarchar(400),@DealerIdentifier)
SET @PathNameStr=Convert(nvarchar(400),@UserName)
END

UPDATE Tang_DealerTree SET PathID=@PathIDStr, PathName=@PathNameStr WHERE Identifier=@TreeIdentifier

DECLARE @SqlStr nvarchar(400)

SET @SqlStr='INSERT INTO Tang_DealerRelation (DealerID, ParentID) SELECT Identifier, ParentID FROM View_DealerInfo WHERE Identifier IN ('+@PathIDStr+')'

EXECUTE(@SqlStr)
最下面的那条SqlStr没有被执行,想知道是怎么一回事儿。

解决方案 »

  1.   

    加一句 set @PathIDStr = '''' + replace(@PathIDStr , ',' , ''',''') + ''''
      

  2.   

    SET @SqlStr='INSERT INTO Tang_DealerRelation (DealerID, ParentID) SELECT Identifier, ParentID FROM View_DealerInfo WHERE Identifier IN ('''+@PathIDStr+''')'
        
      

  3.   

    DealerID或Identifier得到的是不是为空
      

  4.   

    如果是整型,你的SQL没问题.SET @SqlStr='INSERT INTO Tang_DealerRelation (DealerID, ParentID) SELECT Identifier, ParentID FROM View_DealerInfo WHERE Identifier IN ('+@PathIDStr+')'