SGGL_JT/DataBase/菜单生成脚本.txt

42 lines
1.8 KiB
Plaintext

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