请教一个存储过程,根据行次的不同分拆数据到新表中。
一、表结构如下:
 
CREATE TABLE [dbo].[Table_oldmx](
	[pc] [varchar](20) NULL,
	[name] [varchar](20) NULL,
	[gz] [decimal](18, 2) NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[Table_newmx](
	[pc] [varchar](20) NULL,
	[name] [varchar](20) NULL,
	[gz] [decimal](18, 2) NULL
) ON [PRIMARY]
二、测试数据如下:
insert into Table_oldmx(pc,name,gz) values('pc001','aaa',1001)
insert into Table_oldmx(pc,name,gz) values('pc001','bbb',1002)
insert into Table_oldmx(pc,name,gz) values('pc001','ccc',1003)
insert into Table_oldmx(pc,name,gz) values('pc001','ddd',1004)
insert into Table_oldmx(pc,name,gz) values('pc001','eee',1005)
insert into Table_oldmx(pc,name,gz) values('pc001','fff',1006)
insert into Table_oldmx(pc,name,gz) values('pc001','ggg',1007)
insert into Table_oldmx(pc,name,gz) values('pc001','hhh',1008)
insert into Table_oldmx(pc,name,gz) values('pc001','iii',1009)
insert into Table_oldmx(pc,name,gz) values('pc001','jjj',1010)
insert into Table_oldmx(pc,name,gz) values('pc001','kkk',1011)
insert into Table_oldmx(pc,name,gz) values('pc001','mmm',1012)
insert into Table_oldmx(pc,name,gz) values('pc001','nnn',1013)
insert into Table_oldmx(pc,name,gz) values('pc001','mmm',1014)
insert into Table_oldmx(pc,name,gz) values('pc001','nnn',1015)
insert into Table_oldmx(pc,name,gz) values('pc001','nnn',1016)
三、要将原表Table_oldmx的数据,根据每批行数,分拆每批的数据到新表中。效果如下:
(要注意pc字段的数据变化)
3.1 当每一个批次为4行时,原表pc字段分拆为4个批次并插入结构一样的新表中。
pc              name     gz
----------------------------------------
pc001001	aaa	1001.00
pc001001	bbb	1002.00
pc001001	ccc	1003.00
pc001001	ddd	1004.00
pc001002	eee	1005.00
pc001002	fff	1006.00
pc001002	ggg	1007.00
pc001002	hhh	1008.00
pc001003	iii	1009.00
pc001003	jjj	1010.00
pc001003	kkk	1011.00
pc001003	mmm	1012.00
pc001004	nnn	1013.00
pc001004	mmm	1014.00
pc001004	nnn	1015.00
pc001004	nnn	1016.00
3.2 当每一个批次为6行时,原表pc字段分拆为3个批次并插入结构一样的新表中。
pc              name     gz
----------------------------------------
pc001001	aaa	1001.00
pc001001	bbb	1002.00
pc001001	ccc	1003.00
pc001001	ddd	1004.00
pc001001	eee	1005.00
pc001001	fff	1006.00
pc001002	ggg	1007.00
pc001002	hhh	1008.00
pc001002	iii	1009.00
pc001002	jjj	1010.00
pc001002	kkk	1011.00
pc001002	mmm	1012.00
pc001003	nnn	1013.00
pc001003	mmm	1014.00
pc001003	nnn	1015.00
pc001003	nnn	1016.00
------解决方案--------------------CREATE TABLE #old([pc] [varchar](20),[name] [varchar](20),[gz] [decimal](18, 2) ) 
insert into #old(pc,name,gz) values('pc001','aaa',1001)
insert into #old(pc,name,gz) values('pc001','bbb',1002)
insert into #old(pc,name,gz) values('pc001','ccc',1003)
insert into #old(pc,name,gz) values('pc001','ddd',1004)
insert into #old(pc,name,gz) values('pc001','eee',1005)
insert into #old(pc,name,gz) values('pc001','fff',1006)
insert into&nbs