oracle存储过程调用方法
过程定义 ,重要的是(1)输出参数 state 是boolean 怎么用java 设置输出参数
(2) stamt 是记录类型 怎么定义输出参数
create or replace procedure show_insert_check(
movie in movie.id%type,room in room.num%type,
btime in varchar2,etime in varchar2,
state out BOOLEAN,stmt out show%rowtype)
as
cursor show_cursor is
select * from show ;
bdate date;
edate date;
begin
state := false;
bdate := to_date(btime,'yyyy-mm-dd hh24:mi:ss');
edate := to_date(etime,'yyyy-mm-dd hh24:mi:ss');
open show_cursor;
loop
fetch show_cursor into stmt;
if show_cursor%found then
if movie = stmt.movie and room = stmt.room then
if (stmt.btime >= bdate and
stmt.btime < edate or
stmt.etime >= bdate and
stmt.etime < edate ) or
(bdate > stmt.btime and
bdate < stmt.etime or
edate > stmt.btime and
edate < stmt.etime) then
state := true;
exit;
end if; -- 时间重叠判断
end if; -- movie = stmt.id and room = stmt.room
else --if show_cursor%found
state := false;
exit;
end if;-- if show_cursor%found
end loop;
close show_cursor;
end show_insert_check;
请各位前辈帮帮忙
------解决方案--------------------Boolean要自己改驱动或者获得dump自己写,因为JDBC里没有映射PL/SQL所有基本型。
Recode映射成STRUCT。