没分了 急 求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,
@IDint
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,
@IDListvarchar(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,
@IDListvarchar(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 '