关于存储过程中变量引用的问题

Francisjp 2003-11-30 03:22:43
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)

请问以上的写法中有错误吗? 尤其是这些单引号的用法正确吗?
...全文
67 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
binshan 2003-11-30
  • 打赏
  • 举报
回复
SELECT @SQL='select '''+ CONVERT(VARCHAR(10),@s01)+'''=sum(s01),'''+CONVERT(VARCHAR(10),@s03)+'''=sum(s03),'''+CONVERT(VARCHAR(10),@s06)+'''=sum(s06) from '+@TJ_HQ_SHOP_BB+' where zdm='''+CONVERT(VARCHAR(10),@i)+''' GROUP BY Z01'
zjcxc 2003-11-30
  • 打赏
  • 举报
回复
必须声明变量 '@Z01'。

其他没问题
welyngj 2003-11-30
  • 打赏
  • 举报
回复
没有@Z01声明
'''全部改为'

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧