总是没法退出循环

南瓜饼 2010-12-30 02:37:36
declare @TID int,@UID int,@RID int
select @UID=UID from bbsUsers where Uname='心酸果冻'
select @TID=TID from bbsTopic
where Ttopic='什么是.net啊'and Tcontents='微软的广告快超过半个北京城了' and TuID=@UID
select @RID=RID from bbsReply
where RtID=@TID
--回帖人-50分
while(1=1)
begin
if exists(select top 1 RuID from bbsReply where RtID=@TID)
begin
select top 1 @UID=RuID from bbsReply where RtID=@TID
update bbsUsers set Upoint =Upoint-50 where UID=@UID
--删除回帖表
delete from bbsReply where RID=@RID
end
else
break
end
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzh8343 2010-12-30
  • 打赏
  • 举报
回复
当条件成立后加入break;
wpeng8218 2010-12-30
  • 打赏
  • 举报
回复
把这句delete from bbsReply where RID=@RID修改成
delete from bbsReply where RtID=@TID

就能执行到break;
dawugui 2010-12-30
  • 打赏
  • 举报
回复
因为你一直存在:

if exists(select top 1 RuID from bbsReply where RtID=@TID)

而你的删除语句是:

delete from bbsReply where RID=@RID

注意:一个是RtID=@TID,一个是RID=@RID.

wpeng8218 2010-12-30
  • 打赏
  • 举报
回复
exists(select top 1 RuID from bbsReply where RtID=@TID)

这个条件一直成立,无法运行到break;
fengyun142415 2010-12-30
  • 打赏
  • 举报
回复
满足条件才会break
南瓜饼 2010-12-30
  • 打赏
  • 举报
回复
会一直执行 不是有break吗
Delphi 跳出循环的几种方法Delphi 跳出循环的几种方法 我常用的几种方法 希望大家看看 那个是大家常用的而且比较不错的 以下是引用片段: Delphi中break,exit,abort跳出循环的比较 exit: 退出函数体 abort: 遇到异常,安静处理,就是不显示不提示 break: 退出当前循环体,包括for ,while, repeat等循环体 continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行 Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码)。 Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = RaiseException(),是一个不出现对话框的异常。所以 Abort 的行为和异常是一样的,其代码执行顺序也是follow异常的流程。 例如: try (1) //执行了 abort; (2) //不执行 exception (3) //执行了 end; 用 Abort 能够执行 exception 里边的代码,但是如果用 Exit,就直接离开,不管 exception。 delphi中表示跳出的有break,exit,abort。 【break】 离开循环 只能放在循环中 【exit】 跳出本模块(过程和函数),放在循环中是跳出循环在所在的模块。 【abort】 中止程序的运行,产生不报错的异常信息。跳出祖先模块。和【exit】的区别是 procedure p1; begin p2; p3; end; procedure p2; begin abort; //exit; end; procedure p3; begin //showmessage().. end; 如果用 Abort,则执行不到 P3,如果用 Exit 就能够执行到 P3。

34,590

社区成员

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

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