create or replace procedure ADMIN.p_selectCourse(
p_teachId in number,
p_courseNumber in varchar2(20),
p_studentNumber in varchar2(18),
p_error out number )
is
i INTEGER;
begin
select studentMaxNumber into i from publicCourseTeach where teachId=p_teachId;
SAVEPOINT p1;
if i> 0 then
update publicCourseTeach set studentMaxNumber=studentMaxNumber-1 where teachId=p_teachId ;
insert into studentSelectCourseInfo(studentNumber,courseNumber) values(p_studentNumber,p_courseNumber) ;
commit ;
if sqlcode == 0 then
p_error:=1;
dbms_output.put_line(p_error);
else
rollback to p1;
p_error:=0;
dbms_output.put_line(p_error);
end if;
else
p_error:=-1;
dbms_output.put_line(p_error);
end if;
end ;
uj5u.com熱心網友回復:
回退至保存點,必須是在沒有commit之前,commit之后,保存點就沒有意義了uj5u.com熱心網友回復:
確保studentMaxNumber只有一個值回傳if中的等于就是=
uj5u.com熱心網友回復:
改了 還是不通過uj5u.com熱心網友回復:
if sqlcode == 0 then寫一個等號就可以了。
uj5u.com熱心網友回復:
p_courseNumber in varchar2(20),p_studentNumber in varchar2(18),
引數,只寫型別,不要寫長度。
uj5u.com熱心網友回復:
重點是 我把中間部分都注釋掉了,只留框架都通不過。。。。uj5u.com熱心網友回復:
只留框架當然不行了,begin end中間,最少要有一條陳述句。如果實在沒得寫,要寫成這樣
begin
null;
end
uj5u.com熱心網友回復:
呼叫這個存盤在去commit 。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/86438.html
標籤:開發
上一篇:電商用什么資料比較好
下一篇:問老哥們一個資料表設計的問題
