jdbc调用存储过程:
经常使用的4种:
1. 返回结果集的proc
2. 输出参数
3.使用带有返回状态的存储过程
4.受影响行数
以下为mysql的存储过程 sqlServer同理
案例1: 返回结果集的proc
存储过程:
drop procedure if exists proc_selectEmployee;
create procedure proc_selectEmployee(in carid varchar(20))
begin
select * from employee where cardID = carid;
end
call proc_selectEmployee('SZ65380');
案例2: 输出参数
存储过程:
drop procedure if exists proc_outtwo;
create procedure proc_outtwo(in idint int,out cardIdstring varchar(44),out addressstring varchar(88))
begin
select cardID,address into cardIdstring,addressstring from employee where id =idint;
end
call proc_outtwo(1,@one,@two);
select @one;
select @two;
案例3:
使用带有返回状态的存储过程 return 1; mysql的proc不支持 返回值 sqlserver支持
如果要获得返回值的话为:
存储过程:
create proc checkit
(@addressString varchar(50))
as
begin
if ((select count(*) from employee where address =@addressString))
return 1
else
return 0
go
案例4:
获得更新行数:
drop procedure if exists proc_updateEmployee;
create procedure proc_updateEmployee()
begin
update Employee set job=1;
end
call proc_selectEmployee();