关于存储过程中变量引用的问题
CREATE PROCEDURE dsptj_hq_huizong
@rq VARCHAR(10)
AS
DECLARE @SQL VARCHAR (8000)
DECLARE @i INT
DECLARE @j INT
DECLARE @s01 INT
DECLARE @s03 INT
DECLARE @s06 INT
DECLARE @TJ_HQ_SHOP_BB VARCHAR(30)
set @i=1
set @j=1
set @TJ_HQ_SHOP_BB ='TJ_HQ_SHOP_BB_0' + cast(@j as varchar(2)) + 'Y'
SET @s01=0
SET @s03=0
SET @s06=0
SELECT @SQL='select '''+ @s01+'''=sum(s01),'''+@s03+'''=sum(s03),'''+@s06+'''=sum(s06),'''+@Z01+'''=Z01 from '+@TJ_HQ_SHOP_BB+' where zdm='''+@i+''' GROUP BY Z01'
exec (@sql)
请问以上的写法中有错误吗? 尤其是这些单引号的用法正确吗?