create or replace procedure pro_addstu
(p_id in graduate_info.id%type,
p_name in graduate_info.name%type,
p_sex in graduate_info.sex%type,
p_birthday in graduate_info.birthday%type,
p_classno in graduate_info.classno%type,
p_major in graduate_info.major%type,
p_director in graduate_info.director%type,
p_source in graduate_info.source%type,
p_score in graduate_info.score%type,
p_bonus in graduate_info.bonus%type,
v_re out number)
as
v_count number;
v_expt exception;
v_expt1 exception;
cursor exit_cursor is select count(*) from graduate_info where name=p_name;begin
if p_name is null then
raise v_expt;--学生姓名不能为空
end if;
open exit_cursor;
fetch exit_cursor into v_count;
if v_count>0 then
raise v_expt1;--学生名称已经存在
else
insert into graduate_info values(id.NEXTVAL,p_name,p_sex,p_birthday,p_classno,p_major,p_director,p_source,p_score,p_bonus);
v_re:=1;--增加成功返回1
end if;
close exit_cursor;
exception
when v_expt then
v_re:=0;
when v_expt1 then
v_re:=-1;
end;)
(p_id in graduate_info.id%type,
p_name in graduate_info.name%type,
p_sex in graduate_info.sex%type,
p_birthday in graduate_info.birthday%type,
p_classno in graduate_info.classno%type,
p_major in graduate_info.major%type,
p_director in graduate_info.director%type,
p_source in graduate_info.source%type,
p_score in graduate_info.score%type,
p_bonus in graduate_info.bonus%type,
v_re out number)
as
v_count number;
v_expt exception;
v_expt1 exception;
cursor exit_cursor is select count(*) from graduate_info where name=p_name;begin
if p_name is null then
raise v_expt;--学生姓名不能为空
end if;
open exit_cursor;
fetch exit_cursor into v_count;
if v_count>0 then
raise v_expt1;--学生名称已经存在
else
insert into graduate_info values(id.NEXTVAL,p_name,p_sex,p_birthday,p_classno,p_major,p_director,p_source,p_score,p_bonus);
v_re:=1;--增加成功返回1
end if;
close exit_cursor;
exception
when v_expt then
v_re:=0;
when v_expt1 then
v_re:=-1;
end;)
(p_id in graduate_info.id%type,
p_name in graduate_info.name%type,
p_sex in graduate_info.sex%type,
p_birthday in graduate_info.birthday%type,
p_classno in graduate_info.classno%type,
p_major in graduate_info.major%type,
p_director in graduate_info.director%type,
p_source in graduate_info.source%type,
p_score in graduate_info.score%type,
p_bonus in graduate_info.bonus%type,
v_re out number)
as
v_count number;
v_expt exception;
v_expt1 exception; begin select count(*) into v_count from graduate_info where name=p_name;if p_name is null then
raise v_expt;--学生姓名不能为空
end if;
open exit_cursor; if v_count>0 then
raise v_expt1;--学生名称已经存在
else
insert into graduate_info values(id.NEXTVAL,p_name,p_sex,p_birthday,p_classno,p_major,p_director,p_source,p_score,p_bonus);
v_re:=1;--增加成功返回1
end if; exception
when v_expt then
v_re:=0;
when v_expt1 then
v_re:=-1;
end;)
(p_id in graduate_info.id%type,
p_name in graduate_info.name%type,
p_sex in graduate_info.sex%type,
p_birthday in graduate_info.birthday%type,
p_classno in graduate_info.classno%type,
p_major in graduate_info.major%type,
p_director in graduate_info.director%type,
p_source in graduate_info.source%type,
p_score in graduate_info.score%type,
p_bonus in graduate_info.bonus%type,
v_re out number)
as
v_count number := 0;
--v_expt exception;
--v_expt1 exception;
--cursor exit_cursor is select count(*) from graduate_info where name=p_name; begin
if p_name is null then
v_re := 0;
--raise v_expt;--学生姓名不能为空
end if;
select count(*) into v_count from graduate_info where name=p_name;
--open exit_cursor;
--fetch exit_cursor into v_count;
if v_count>0 then
v_re := -1;
--raise v_expt1;--学生名称已经存在
else
insert into graduate_info values(id.NEXTVAL,p_name,p_sex,p_birthday,p_classno,p_major,p_director,p_source,p_score,p_bonus);
v_re := 1;--增加成功返回1
end if;
--close exit_cursor;
exception
/*
when v_expt then
v_re := 0;
when v_expt1 then
v_re := -1; */
when others then
raise;
end pro_addstu;
/