首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

SQL 怎么循环Select出来的结果

2012-01-09 
SQL 如何循环Select出来的结果!思路如下:要清空发件人发件箱信息(信息表Notice),由于信息在一个表中,删除

SQL 如何循环Select出来的结果!
思路如下:
    要清空发件人发件箱信息(信息表Notice),由于信息在一个表中,删除前要判断所有收件人(收件人表NoticeOfTeacher)是否都删除了该条信息,所有收件人都删除了该条信息才能在Notice中删除,否则把该条信息状态设为3(收件箱不会显示了)
以下是我错的存储过程:

if   not   exists  
(select   NoticeOfTeacher.NoticeID   from   NoticeOfTeacher,Notice   where   NoticeOfTeacher.NoticeID=Notice.NoticeID  
and   Notice.NoticeID=(从NoticeOfTeacher循环出来的每一个NoticeID))
begin
delete   from   Notice   where   NoticeID=@NoticeID
end
else
  Update   Notice   set   NoticeState=3   where   Sender=@Sender

也没太说清楚,大概意思估计说清了,请问该如何做?

[解决办法]
楼上的表达太差了,先帮你顶下吧
[解决办法]
把ELSE后面也加上begin ...end
[解决办法]
使用游标是可以解决你的问题的
[解决办法]
Update Notice set NoticeState= CASE WHEN EXISTS(SELECT NoticeID FROM NoticeOfTeacher WHERE NoticeID= Notice .NoticeID) then 3 else 4 end

delete from Notice where NoticeState=4

热点排行