首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

高人来帮小弟我看一下存储过程报错

2012-01-18 
高人来帮我看一下存储过程报错ELSE IF upper(@Msg)DBBEGINDEClare @Dcoin intDEClare @tmpQ tinyintEXE

高人来帮我看一下存储过程报错
ELSE IF upper(@Msg)='DB'
BEGIN
DEClare @Dcoin int
DEClare @tmpQ tinyint
EXEC querryDB @A,@B,@TmpQ output
IF @TmpQ=0
select @Dcoin=Dcoin from userinfo where A=@A and @B=B
SET @SendMsg='您的帐户为'+@Dcoin +''
ELSE if @TmpQ=1
SET @SendMsg='对不起,没有相关匹配'
ELSE
SET @SendMsg='对不起,系统查询出错,请稍后查询!'
END

为什么分析查询的时候显示"EXEC querryDB @A,@B,@TmpQ output"这一行
服务器: 消息 156,级别 15,状态 1,过程 Service,行 133
在关键字 'ELSE' 附近有语法错误。

[解决办法]
IF @TmpQ=0
BEGIN---- 加上
select @Dcoin=Dcoin from userinfo where A=@A and @B=B 
SET @SendMsg= '您的帐户为 '+@Dcoin + ' ' 
END----结构被破坏了

[解决办法]
EXEC querryDB @A,@B,@TmpQ output 
这句是啥来的。没看懂

至于else那里,跟楼上意见一样。
在sql中用if...else..时,如果只有一条语句可以不用写begin..end。但超过一条。必须加上begin..,,end

热点排行