declare cursor1 cursor for select 部门id,部门名称 from bm
declare @i int,@j varchar(100)
open cursor1
fetch cursor1 into @i,@j
while @@fetch_status=0
begin
exec('select 部门id,姓名 into '+@j+'员工表 from 员工表 where 部门id='+cast(@i as varchar(10)))
fetch cursor1 into @i,@j
end
close cursor1
deallocate cursor1
declare @i int,@j varchar(100)
open cursor1
fetch cursor1 into @i,@j
while @@fetch_status=0
begin
exec('select 部门id,姓名 into '+@j+'员工表 from 员工表 where 部门id='+cast(@i as varchar(10)))
fetch cursor1 into @i,@j
end
close cursor1
deallocate cursor1
declare @i int,@j varchar(100),@SQLString varchar(1000)
open cursor1
fetch cursor1 into @i,@j
while @@fetch_status=0
begin
set @SQLString='select 部门id,姓名 into '+@j+'员工表 from 员工表 where 部门id='+cast(@i as varchar(10))
exec(@SQLString)
fetch cursor1 into @i,@j
end
close cursor1
deallocate cursor1
declare cursor1 cursor for select 部门id,部门名称 from bm
declare @i int,@j varchar(100),@SQLString varchar(1000)
open cursor1
fetch cursor1 into @i,@j
while @@fetch_status=0
begin
select @SQLString='select '''+rtrim(@j)+'员工表'''
exec(@SQLString)
set @SQLString='select a.部门id,b.部门名称,a.姓名 from 员工表 a,bm b where a.部门id=b.部门id and a.部门id= '+cast(@i as varchar(10))
exec(@SQLString)
fetch cursor1 into @i,@j
end
close cursor1
deallocate cursor1
declare @name char(6)
select @id = min(部门id) - 1 from 部门表
while exists (select * from 部门表 where 部门id > @id)
begin
select top 1 @id = 部门id, @name = 部门名称 from 部门表 where 部门id > @id order by 部门id
exec('select * into '+@name+'员工表 from 员工表 where 部门id = '+cast(@id as varchar))
end