最近做的一个项目中关于父子菜单的应用中,不用系统的菜单不大一致,需要复制已有的父子级菜单再进行稍微的处理,一般的复制数据时相对比较容易,而复制父子菜单的关系到本表中是有一定难度,于是采用游标的方式实现:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
SET IDENTITY_INSERT dbo.online_module ON ;
declare @eid int ;
set @eid = ident_current( ' dbo.online_module ' );
insert into online_module(ModuleID,ApplicationsID,CName,Directory,img,IsSystem,OrderLevel, [ Close ] ,EnName,Show, [ System ] ,PageCode,TmpParentID,parentid)
select ModuleID + @eid ,ApplicationsID,CName,Directory,img,IsSystem,OrderLevel, [ Close ] ,EnName,Show, [ System ] ,PageCode,TmpParentID, case parentid when 0 then 0 else parentid + @eid end from dbo.online_module
where belongid = 1
SET IDENTITY_INSERT dbo.online_module OFF ;