+ -
当前位置:首页 → 问答吧 → 存储过程if问题

存储过程if问题

时间:2011-12-25

来源:互联网

SQL code

ELSE IF (@prefix = 172)
begin
  
   IF exists (select XAttack from [Item] WHERE IID = @iid AND XAttack < 5 )  
   UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid
  IF exists (select [Index], Num from [Item] WHERE IID = @iid AND [Index] = 3075 AND Num >0 )
  UPDATE [Item] SET [Index] = [Index] , Num = Num + 1 WHERE IID = @iid  
 else   
 SET @IID = @IID +1
  INSERT INTO Item ( [PID], [IID], [Index], [Prefix], [Info], [Num], [MaxEnd], [CurEnd], [SetGem], [XAttack], [XMagic], [XDefense], [XHit], [XDodge], [Protect], [UpgrLevel], [UpgrRate]) VALUES ( @PID, @IID, 3075, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
end
 

如果XAttack =4 就执行UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid
如果XAttack =6 IF exists (select [Index], Num from [Item] WHERE IID = @iid AND [Index] = 3075 AND Num >0 )就执行UPDATE [Item] SET [Index] = [Index] , Num = Num + 1 WHERE IID = @iid  
否则就执行 else
请大家帮忙指数下,我这个应该怎么写!高手帮下帮感谢。祝大家圣诞节快乐!

作者: zxc2015   发布时间: 2011-12-25

是这个意思么:
SQL code
ELSE IF (@prefix = 172)
begin
    if XAttack =4
        UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid
    else XAttack =6 and exists (select [Index], Num from [Item] WHERE IID = @iid AND [Index] = 3075 AND Num 
        UPDATE [Item] SET [Index] = [Index] , Num = Num + 1 WHERE IID = @iid 
end
else

作者: qianjin036a   发布时间: 2011-12-25

SQL code
IF exists (select XAttack from [Item] WHERE IID = @iid AND XAttack < 5 )  
   UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid and XAttack =4
  IF exists (select [Index], Num from [Item] WHERE IID = @iid AND [Index] = 3075 AND Num >0 )
  UPDATE [Item] SET [Index] = [Index] , Num = Num + 1 WHERE IID = @iid and XAttack =6 

作者: ssp2009   发布时间: 2011-12-25

引用 2 楼 ssp2009 的回复:
SQL code

IF exists (select XAttack from [Item] WHERE IID = @iid AND XAttack < 5 )
UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid and XAttack =4
IF exists (select [Index], Num from ……

Num = Num + 1,怎么这个数据不加1呢?

作者: zxc2015   发布时间: 2011-12-25

SQL code
begin
    if XAttack =4
        UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid
    else XAttack =6 and exists (select [Index], Num from [Item] WHERE IID = @iid AND [Index] = 3075 AND Num 
        UPDATE [Item] SET [Index] = [Index] , Num = Num + 1 WHERE IID = @iid 
end
..

作者: fredrickhu   发布时间: 2011-12-25

引用 4 楼 fredrickhu 的回复:
SQL code

begin
if XAttack =4
UPDATE [Item] SET XAttack = XAttack+1 WHERE IID = @iid
else XAttack =6 and exists (select [Index], Num from [Item] WHERE IID = @iid AND [Index] = 307……


消息 102,级别 15,状态 1,过程 SetPrefix,第 185 行
'XAttack' 附近有语法错误。

作者: zxc2015   发布时间: 2011-12-25

Num = Num + 1,怎么这个数据就不加1呢?急...................大家帮帮忙!!!!!

作者: zxc2015   发布时间: 2011-12-25

大虾们帮下忙,,,,,,,,,,,,,,,

作者: zxc2015   发布时间: 2011-12-25