oracle中儲存過程的異常分為:
1.預定義異常:oracle已經定義了乙個常量用於表示異常編號
異常 錯誤編號 常量名稱
除數為0 -01476 zero_divide
案例:create
or replace procedure
test_asc
int;
begin
c:=10/0;
exception
when zero_divide then
dbms_output.put_line('除數不能為0哦');
end;
2.非預定義異常:錯誤編號沒有對應的常量
create
or replace procedure
test_asc
int;
my_error exception;
pragma exception_init(my_error,-01476);
begin
c:=10/0;
exception
when my_error then
dbms_output.put_line('除數不能為0哦');
when others then
dbms_output.put_line('未知錯誤');
end;
3.自定義異常
create
or replace procedure
move_moeny
( u1 int,
u2 int,
money_ dec
)isb
dec(19,2); --讀取u1餘額
my_error exception; --定義自定義異常
begin
--判斷轉賬的金額是否大於餘額
select a.balance into b from account_ a where a.aid=u1;
if bthen
raise my_error;
endif; --如果餘額大於轉賬金額,u1的餘額要減少
update account_ set balance = balance-money_ where aid=u1;
--u2的餘額要增加
update account_ set balance =balance+money_ where aid=u2;
--轉賬成功之後,要新增兩條交易記錄
insert into transfer values(x.nextval,sysdate,u1,'取出',money_);
insert into transfer values(x.nextval,sysdate,u2,'存入',money_);
exception
when my_error then
dbms_output.put_line('餘額不足');
rollback;
end;
Oracle中儲存過程
1 建立乙個儲存過程 create or replace procedure pro name parameter1 parameter2 is as begin plsql sentences pl sql語句,儲存過程功能實現的主體 exception dowith sentences 異常處理...
Oracle 中儲存過程的建立
在oracle 中用到的視覺化的開發工具是pl sql 其儲存過程也和在sql中的無二。今天也算是複習一下舊知識。是什麼?是乙個 集 也可以理解成是乙個程式塊。它在資料庫中來實現功能。為什麼用?1快 因為資料庫接收到從程式中傳過來的 語句,資料庫還要進行編譯成自己認識的語言 即程式每執行一次就編譯一...
scrapy框架中儲存資料的三種格式
在scrapy框架中儲存資料是在pipeline.py中儲存 切記需要注意在settings裡面設定pipleines的權重值 tem pipelines 1.儲存資料為文字格式 獲取當前工作目錄 class jsonpipeline object defprocess item self,item...