Oracle vs PostgreSQL,研發注意事項(2)-DDL語句與事務

husthxd發表於2018-07-20

Oracle執行 DDL語句如CREATE, DROP, RENAME, or ALTER時,會隱式提交事務;PG在執行這類語句時,不會提交事務,需顯式提交。

--------------------------- Session A

drop table if exists t1;

-- 開啟事務

begin;

-- 查詢當前事務號

select txid_current(); 

-- 建立表&插入100w資料

create table t1(id int,c1 varchar(20));

-- 查詢當前事務號

select txid_current(); 

insert into t1 select generate_series(1,1000000),'#TESTDATA#';

rollback;-- 回滾事務

select count(*) from t1;

提示:

ERROR: relation "t1" does not exist

LINE 1: select count(*) from t1;

如果是Oracle資料庫,建立資料表成功後會隱式提交事務,插入資料後回滾,資料表仍會存在。

參考:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-2158215/,如需轉載,請註明出處,否則將追究法律責任。

相關文章