新聞中心
Oracle事務(wù)處理與存儲過程應(yīng)用

創(chuàng)新互聯(lián)是一家專業(yè)提供大理州企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為大理州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
Oracle事務(wù)處理
1、事務(wù)的概念
事務(wù)是一組原子性的SQL操作,要么全部執(zhí)行成功,要么全部回滾,事務(wù)具有以下特性(ACID屬性):
原子性(Atomicity):事務(wù)中的所有操作要么全部成功,要么全部失敗。
一致性(Consistency):事務(wù)使數(shù)據(jù)庫從一個一致狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€一致狀態(tài)。
隔離性(Isolation):事務(wù)之間的操作互不影響。
持久性(Durability):事務(wù)完成后,對數(shù)據(jù)庫的修改是永久的。
2、事務(wù)的控制
提交事務(wù):使用COMMIT命令將事務(wù)中的修改永久保存到數(shù)據(jù)庫。
回滾事務(wù):使用ROLLBACK命令撤銷事務(wù)中的修改。
保存點(diǎn):在事務(wù)中設(shè)置一個保存點(diǎn),可以使用SAVEPOINT命令,當(dāng)需要回滾到某個保存點(diǎn)時,使用ROLLBACK TO SAVEPOINT命令。
Oracle存儲過程
1、存儲過程的概念
存儲過程是一組預(yù)先編譯的SQL語句,存儲在數(shù)據(jù)庫中,可以通過調(diào)用執(zhí)行,存儲過程可以提高代碼的重用性、減少網(wǎng)絡(luò)傳輸量、提高性能。
2、創(chuàng)建存儲過程
使用CREATE PROCEDURE語句創(chuàng)建存儲過程,
CREATE PROCEDURE add_employee (p_first_name IN VARCHAR2, p_last_name IN VARCHAR2, p_email IN VARCHAR2)
IS
BEGIN
INSERT INTO employees (first_name, last_name, email)
VALUES (p_first_name, p_last_name, p_email);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE;
END;
3、調(diào)用存儲過程
使用EXECUTE或CALL語句調(diào)用存儲過程,
EXECUTE add_employee('張', '三', '[email protected]');
4、修改存儲過程
使用ALTER PROCEDURE語句修改存儲過程,
ALTER PROCEDURE add_employee AS BEGIN 修改后的存儲過程內(nèi)容 END;
5、刪除存儲過程
使用DROP PROCEDURE語句刪除存儲過程,
DROP PROCEDURE add_employee;
6、異常處理
在存儲過程中使用EXCEPTION部分進(jìn)行異常處理,
CREATE PROCEDURE divide_numbers (p_num1 IN NUMBER, p_num2 IN NUMBER, p_result OUT NUMBER)
IS
v_divisor NUMBER := p_num2;
BEGIN
IF v_divisor = 0 THEN
RAISE ZERO_DIVIDE;
END IF;
p_result := p_num1 / v_divisor;
EXCEPTION
WHEN ZERO_DIVIDE THEN
p_result := NULL;
WHEN OTHERS THEN
RAISE;
END;
當(dāng)前題目:Oracle事務(wù)處理與存儲過程應(yīng)用
網(wǎng)址分享:http://fisionsoft.com.cn/article/dhjpopp.html


咨詢
建站咨詢
