理解起来一点都不难的
declare @memberid uniqueidentifier declare @menucount int declare SearchAdmin cursor for select memberid from member_info where useraccount='superadmin' open SearchAdmin fetch next from SearchAdmin into @memberid while @@fetch_status=0 begin select @menucount=count(*) from member_menu where memberid=@memberid and menuid='4F6378E9-7B70-4BE9-93AD-6B1C98693B94' if @menucount>0 begin break end insert into member_menu values(@memberid,'4F6378E9-7B70-4BE9-93AD-6B1C98693B94','20C8071F-E1A3-4A2E-B352-033B51CFC905','2014-11-18 09:29:33.653') end --关闭游标 close SearchAdmin --释放资源 deallocate SearchAdmin --但是提示消息 2627,级别 14,状态 1,第 9 行 --违反了 PRIMARY KEY 约束 'PK_Member_Meau'。不能在对象 'dbo.member_menu' 中插入重复键。 --增加if 如果存在记录了直接break
步骤
1、声明相关字段用来使用,声明cursor游标,并来自那些select数据
2、打开游标
3、让游标进入下一个数据
4、如果有数据执行while (@@fetch_status=0判断执行是否成功)
5、满足条件做什么,不满足做什么,也可以break
6、关闭游标
7、释放资源