请问这个问题该怎么解决?

shirley_yue 2009-07-29 01:54:27
EXEC ('IF ('''+@SecuCategoryDesc+'''=0)
BEGIN
SELECT '+@InnerCode+'=A.XX
FROM TABLE A
WHERE A.AA='''+@StockCode+''' AND CAST(A.BB AS VARCHAR(5)) IN ('+@SecuCategory+')
END ')

好像是 @InnerCode 这里的错误,我把这个赋值给去掉就对了,但是我想给这个变量赋值,不知道该怎样解决比较好呢?
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwdream2008 2009-07-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 shirley_yue 的回复:]
2楼的,好像有问题哦,
消息 102,级别 15,状态 1,第 2 行
'=' 附近有语法错误。
[/Quote]
IF @SecuCategoryDesc=0
BEGIN
SELECT @InnerCode=A.XX
FROM [TABLE] A
WHERE A.AA=@StockCode
AND charindex(CAST(A.BB AS VARCHAR(5)), @SecuCategory)>0
end

没错啊!
shirley_yue 2009-07-29
  • 打赏
  • 举报
回复
怎么都没人帮我看看呢?
shirley_yue 2009-07-29
  • 打赏
  • 举报
回复
2楼的,好像有问题哦,
消息 102,级别 15,状态 1,第 2 行
'=' 附近有语法错误。
shirley_yue 2009-07-29
  • 打赏
  • 举报
回复
我是想在EXEC里面给变量赋值的,然后EXEC外面使用,不知道有没有好办法呢?
百年树人 2009-07-29
  • 打赏
  • 举报
回复
IF (@SecuCategoryDesc=0) 
BEGIN
EXEC ('SELECT '+@InnerCode+'=A.XX FROM TABLE A WHERE A.AA='''+@StockCode+''' AND CAST(A.BB AS VARCHAR(5)) IN ('+@SecuCategory+')')
END


这样?注意IN ('+@SecuCategory+') 这个@SecuCategory里如果有多个值中间要加引号
sdhdy 2009-07-29
  • 打赏
  • 举报
回复
IF @SecuCategoryDesc=0
BEGIN
SELECT @InnerCode=A.XX
FROM TABLE A
WHERE A.AA=@StockCode AND charindex(CAST(A.BB AS VARCHAR(5)), @SecuCategory)>0
shirley_yue 2009-07-29
  • 打赏
  • 举报
回复
怎么都没人回答呢?各位好心的大哥,麻烦帮忙看看呀

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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