这是我存储过程中的一段代码
set @wheresql=' and p1.status=1'
SET @strSql=N'SELECT top 200 productid,productname into #t FROM cc_product p1 INNER JOIN dbo.CC_ProductClass p2 ON p2.ClassId=p1.ClassId WHERE 1=1 '+@wheresql+' order by p1.updatetime DESC'
EXEC(@strSql)
SELECT * FROM #t 为什么下面SELECT * FROM #t ,提示#t不存在?
set @wheresql=' and p1.status=1'
SET @strSql=N'SELECT top 200 productid,productname into #t FROM cc_product p1 INNER JOIN dbo.CC_ProductClass p2 ON p2.ClassId=p1.ClassId WHERE 1=1 '+@wheresql+' order by p1.updatetime DESC'
EXEC(@strSql)
SELECT * FROM #t 为什么下面SELECT * FROM #t ,提示#t不存在?
set @wheresql=' and p1.status=1'
SET @strSql=N'SELECT top 200 productid,productname FROM cc_product p1 INNER JOIN dbo.CC_ProductClass p2 ON p2.ClassId=p1.ClassId WHERE 1=1 '+@wheresql+' order by p1.updatetime DESC'
insert #t EXEC(@strSql)
SELECT * FROM #t
因为wheresql是多个不同的条件生成的
我把生成后的sql语句拿到数据库中查询一下,得到的结果是我想要的,但是在存储过程中就遇到这个问题?
insert into #t exec(@strsql)