declare @MenuId nvarchar(50) declare @MenuName nvarchar(50) declare @Icon nvarchar(50) declare @Url nvarchar(200) declare @SortIndex int declare @SuperMenu nvarchar(50) declare @MenuType nvarchar(50) declare @IsOffice bit declare @IsEnd bit declare @IsUsed bit declare @sql nvarchar(4000) declare @ButtonToMenuId nvarchar(50) declare @ButtonName nvarchar(50) declare menu_cursor CURSOR --声明游标 FOR SELECT * FROM Sys_Menu order by MenuType,SortIndex; open menu_cursor fetch next from menu_cursor into @MenuId,@MenuName,@Icon,@Url,@SortIndex, @SuperMenu,@MenuType,@IsOffice,@IsEnd,@IsUsed while @@fetch_status = 0 begin print 'INSERT INTO dbo.Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('''+@MenuId+''' ,'''+@MenuName+''',null,'''+@Url+''','+convert(varchar, @SortIndex)+','''+@SuperMenu+''', '''+@MenuType+''','+convert(varchar,@IsOffice)+','+convert(varchar,@IsEnd)+','+convert(varchar,@IsUsed)+')' set @sql = 'declare ButtonToMenuCursor cursor For select * from Sys_ButtonToMenu where MenuId ='''+@MenuId+''' order by SortIndex' exec(@sql) open ButtonToMenuCursor fetch next from ButtonToMenuCursor into @ButtonToMenuId,@MenuId,@ButtonName,@SortIndex while @@fetch_status = 0 begin print 'INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('''+@ButtonToMenuId+''', '''+@MenuId+''' ,'''+@ButtonName+''' ,'+convert(varchar,@SortIndex)+')' --循环遍历每一条记录,这里写业务逻辑 fetch next from ButtonToMenuCursor into @ButtonToMenuId,@MenuId,@ButtonName,@SortIndex end close ButtonToMenuCursor deallocate ButtonToMenuCursor fetch next from menu_cursor into @MenuId,@MenuName,@Icon,@Url,@SortIndex, @SuperMenu,@MenuType,@IsOffice,@IsEnd,@IsUsed end close menu_cursor deallocate menu_cursor