读书人

跪求小弟我写的这个存储过程有有关问

发布时间: 2012-01-14 20:02:35 作者: rapoo

跪求,我写的这个存储过程有问题,帮忙解决啊
我在java的方法里面是这样写的:
for (int i = 0; i < len; i++) {
Misfunc misfunc = (Misfunc) funcCodeList.get(i);
String funcCode = misfunc.getMisfuncCode();
Long projEmpFuncId = new Long(super.getNextIdFromSequence());
sql= "insert into sys_proj_staff_func

(proj_emp_func_id,proj_staff_id,misfunc_code) values(?,?,?) "

Object[] value = new Object[] { projEmpFuncId, projStaffId,
funcCode };
getJdbcTemplate().update(sql, value);
}

由于效率的问题,我把上面的循环的insert语句写成了存储过程如下:
create procedure create_proj_auth(projStaffId)
language sql
begin
for rs1 as select * from SYS_MISFUNC where MISFUNC_TYPE= 'B0 '
do
insert into SYS_PROJ_STAFF_FUNC
(PROJ_EMP_FUNC_ID, MISFUNC_CODE, PROJ_STAFF_ID)
values
(PROJ_EMP_FUNC_ID, rs1.MISFUNC_CODE, projStaffId);
end for;
end;

call create_proj_auth;

drop procedure create_proj_auth();
对于上面的存储过程,我有如下两个问题:

1、projStaffId 这个参数怎么传入进去(我这里的写法有问题)
2、PROJ_EMP_FUNC_ID 这个是主键,需要自动生成

最后请问在java的程序又如何来调用这个存储过程呢?多谢

[解决办法]
楼主的是MSSQL的写法吗?
[解决办法]
你上面写的存储过程是java中的么?
[解决办法]
好像和mssql的语法不太一样,不懂.

读书人网 >SQL Server

热点推荐