1. 如果ddl語法正確,即使執行失敗,也會導致隱式提交:(建立表dept1,雖然表dept1已經存在,並提示名稱已有現有物件使用,仍然隱式提交insert into記錄)
1)、單個sql
2)、儲存過程
create or replace procedure p_insert_dept
asbegin
insert into dept
values(70,'研發部','深圳');
dbms_output.put_line('插入成功!');
execute immediate('create table dept1 as select * from dept');
end;
呼叫儲存過程:begin p_insert_dept; end; 報錯提示表已存在,但insert into仍然被隱式提交。
市場部
深圳70研發部 深圳
10
accounting
new york
20
research
dallas
30
sales
chicago
40
operations
boston
2、如果ddl語法錯誤,則不會導致隱式提交,亦不會自動回滾事務:
oracle pl sql之oracle儲存過程
儲存過程是一種命名pl sql程式塊,它可以被賦予引數,儲存在資料庫中,可以被使用者呼叫。由於儲存過程是已編譯好的 所以在呼叫的時候不必再次進行編譯,從而提高了程式的執行效率。另外使用儲存過程可以實現程式的模組化設計 儲存過程的語法 create or replace procedure proce...
Oracle PL SQL入門之案例實踐
前面已經了解了關於 pl sql程式設計的基礎,本文將結合乙個案例來加深對這些知識點的理解。一 案例介紹 某資料庫有兩張表,是關於某公司員工資料 薪水和部門資訊的,它們分別是emp表和dept表,兩張表的結構如下 要求如下 1 按照上表結構建立相應的表,並每張表寫入5組合法資料。2 操縱相關表,使得...
Oracle PL SQL入門之案例實踐
一 案例介紹 某資料庫有兩張表,是關於某公司員工資料 薪水和部門資訊的,它們分別是emp表和dept表,兩張表的結 構如下 要求如下 1 按照上表結構建立相應的表,並每張表寫入5組合法資料。2 操縱相關表,使得 技術部 的員工的薪水 20 3 建立日誌,追蹤薪水變動情況。4 建立測試包。二 案例的分...