没分了 急 求Sql存储过程问题
A表字段      ID   a   b   c    
 B表字段      DepartmentID      a   b   c   
 参数      @DepartmentID,@ID=,1,2,3,4 
 把A表的内容根据@ID   读取A表的sum(a),sum(b),sum(c)插入B表   把DepartmentID   也插入B表   这样的存储过程怎么写
------解决方案--------------------  create procedure aaaa 
 	@DepartmentID int, 
 	@ID	int 
 as 
 	insert into B select @DepartmentID,sum(a),sum(b),sum(c) from A where ID=@ID   
------解决方案--------------------/* 
 	过程说明:从表B增加数据 
 	创建人:几米天空 
 	创建时间:2007年8月29日 
 */ 
 CREATE PROCEDURE dbo.B_Add 
 	@DepartmentID int, 
 	@IDList	varchar(2000) 
 AS 
 DECLARE @sql varchar(4000)    
 SET @sql =  'insert into B select @DepartmentID,sum(a),sum(b),sum(c) from A where ID in( '+@IDList+ ') '  
 EXEC(@sql)  
------解决方案--------------------/* 
 	过程说明:从表B增加数据 
 	创建人:几米天空 
 	创建时间:2007年8月29日 
 */ 
 CREATE PROCEDURE dbo.B_Add 
 	@DepartmentID int, 
 	@IDList	varchar(2000) 
 AS 
 DECLARE @sql varchar(4000) 
 ----加在这 
 SET @sql =  'insert into B select @DepartmentID,sum(a),sum(b),sum(c) from A where ID in( '+@IDList+ ') '  
 EXEC(@sql)    
 ---------------------------- 
 加一句 
 set @IDList = substring(@IDList, 2, len(@IDList)-1)
------解决方案--------------------A表字段 ID a b c 
 B表字段 DepartmentID a b c   
 参数 @DepartmentID,@ID=,1,2,3,4 
 把A表的内容根据@ID 读取A表的sum(a),sum(b),sum(c)插入B表 把DepartmentID 也插入B表 这样的存储过程怎么写 
 create proc insertB 
 @DepartmentID int, 
 @ID varchar(20) 
 as 
 select @DepartmentID,sum(a),sum(b),sum(c) into B from A where ID in ( @ID ) 
------解决方案--------------------javabuilder9(高守) ( ) 信誉:84  2007-08-30 08:21:27  得分: 0         
    DepartmentID  不是自增的 通过参数传入的        
 -------------- 
 表中的DepartmentID  不是自增的,應該就不會報這個錯誤。   
 仅当使用了列的列表 并且IDENTITY Insert 为on 才能为标识列指定显示值
------解决方案----------------------或者使用like   
 --創建存儲過程 
 Create ProceDure SP_TEST(@DepartmentID Int,@ID Varchar(100)) 
 As 
 	Insert B Select @DepartmentID, a, b, c From A Where  ', ' + @ID +  ', ' Like  '%, ' + Cast(ID As Varchar) +  ',% ' 
 GO 
 --調用 
 EXEC SP_TEST 1,  '1,2,3,4 '