Oracle PL SQL之DDL導致的隱式提交

2021-07-13 17:36:18 字數 962 閱讀 3920

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 建立測試包。二 案例的分...