PL SQL 的 事務處理

2021-06-28 07:16:51 字數 919 閱讀 9300

begin 

declare   

v_count    integer; -- 表中記錄的行數  

v_int_val   my_test.only_int%type; -- 使用%type關鍵字參照某錶某欄位型別宣告變數  

begin  

v_int_val := 123456;  

-- 插入一條正確的資料  

insert into my_test values ('test_success', v_int_val);  

-- 查詢條數為1條,我們發現插入成功了  

select count(*) into v_count from my_test;  

dbms_output.put_line('my_test表中有' || v_count || '條記錄');  

-- 插入一條錯誤的資料,因為第二個欄位為int型,插入字元資料肯定會出錯  

insert into my_test values ('test_fail', 'abc');  

-- 最後提交更改  

commit;  

exception  

-- 異常處理  

when others then  

rollback; -- 異常時回滾,這樣第一次插入的正確資料也不會儲存到資料庫  

dbms_output.put_line('[pl/sql 事務]中出現異常,錯誤**:ora' || sqlcode);  

-- 我們驗證一下表裡的資料為0條  

select count(*) into v_count from my_test;  

dbms_output.put_line('回滾後,my_test表中有' || v_count || '條記錄');  

end; -- 可執行語句結束  

PB事務處理

1 資料視窗更新,只要dberror有錯誤,而事先沒有做過任何commit工作,那麼rollback可以回滾到上次commit位置,即上次commit後所有的資料將被回滾。2 如果是直接寫入sql語句,只要資料庫出現錯誤,那麼rollback可以回滾到上次commit的位置,即上次commit後所有...

MySQL事務處理

start transaction,commit和rollback語法 start transaction begin work commit work and no chain no release rollback work and no chain no release set autocom...

ASP事務處理

asp事務處理。測試資料庫為sql server,伺服器為本機,資料庫名為test,表名為a,兩個欄位id int 主鍵標識,num int set conn server.createobject adodb.connection strconn provider sqloledb.1 persi...