SQL存储过程动态拼接SQL,INTO 实表改临时表 如我有存储过程 set @sql1 = ' SELECT 大类名称,COUNT(*) 款色数 INTO ZDYB_款色数 FROM ( SELECT C.大类名称, A.SPDM,A.GG1DM FROM vw_CKJXCMX A JOIN SHANGPIN B ON A.SPDM = B.SPDM JOIN A_商品名称分类 C ON B.SPMC = C.商品名称 WHERE b.BYZD8 ='+@年份+' AND BYZD5 IN ('+@季节+') AND a.SPDM = B.SPDM AND RQ >='''+@时间前+''' AND RQ <='''+@时间后+''' AND QDDM = '+@渠道+' and a.sl >0 GROUP BY C.大类名称,A.SPDM,A.GG1DM ) ccC group by 大类名称' exec (@sql1) 后面用完 表 ZDYB_款色数,就DROP TABLE ZDYB_款色数了 单独执行没问题,但是现在我这个存储过程要执行30秒左右,因为用的是实表,这30秒就不能用其他用户执行了,会报错, 那怎么解决同时执行的问题呢? 直接把表 ZDYB_款色数 改成 【#ZDYB_款色数】 会报错,好像是动态SQL里面不能用临时表还是怎么的。 求解决方案
set @sql1 = ' SELECT 大类名称,COUNT(*) 款色数 INTO #ZDYB_款色数 FROM ( SELECT C.大类名称, A.SPDM,A.GG1DM FROM vw_CKJXCMX A JOIN SHANGPIN B ON A.SPDM = B.SPDM JOIN A_商品名称分类 C ON B.SPMC = C.商品名称 WHERE b.BYZD8 ='+@年份+' AND BYZD5 IN ('+@季节+') AND a.SPDM = B.SPDM AND RQ >='''+@时间前+''' AND RQ <='''+@时间后+''' AND QDDM = '+@渠道+' and a.sl >0 GROUP BY C.大类名称,A.SPDM,A.GG1DM ) ccC group by 大类名称' exec (@sql1)