PostgreSQL事务可以包含DML、DDL、DCL
2017-12-15 17:48
495 查看
PostgreSQL一个事务中可以包含DML, DDL, DCL.
除了以下语句:
create tablespace
create database
使用concurrently并行创建索引
其他未尽情况略
(Oracle执行DDL前自动将前面的未提交的事务提交,所以Oracle不支持在事务中执行DDL语句)
这种情况和Oracle不同,oracle在执行ddl语句(如 drop table)会自动把事务提交掉。但是在Postgres里,ddl可以放到事务里进行。
废话不多说,举个例子:
个人觉得这是一个很好的特性,在进行关键操作,如 drop truancate 时,可以放到事务里进行。
By 狮子歌歌
除了以下语句:
create tablespace
create database
使用concurrently并行创建索引
其他未尽情况略
(Oracle执行DDL前自动将前面的未提交的事务提交,所以Oracle不支持在事务中执行DDL语句)
这种情况和Oracle不同,oracle在执行ddl语句(如 drop table)会自动把事务提交掉。但是在Postgres里,ddl可以放到事务里进行。
废话不多说,举个例子:
postgres=# begin; BEGIN postgres=# drop table t ; DROP TABLE postgres=# rollback ; ROLLBACK postgres=# \d t Table "public.t" Column | Type | Modifiers --------+---------+------------------------------------------------ id | integer | not null default nextval('t_id_seq'::regclass)
个人觉得这是一个很好的特性,在进行关键操作,如 drop truancate 时,可以放到事务里进行。
By 狮子歌歌
相关文章推荐
- 事务,DML,DDL,DCL的概念
- SQL语言:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言(TCL)
- oracle之数据库事务的边界(DML,DDL,DCL)
- Oracle Class2. SQL查询和SQL函数(Oracle数据类型,ddl,dml,dcl,事务控制语言tcl,sql操作符,sql函数,select语句,运算符,分析函数,临时表)
- Oracle处理数据(DML+DDL+DCL)+事务
- 数据库中事务DML,DDL,DCL,数据字典概念
- DML需手动提交事务,DCL和DDL自动提交事务
- 事务,DML,DDL,DCL的概念
- SQL的四种语言:DDL、DML、DCL、TCL
- DQL DML DDL DCL备忘
- SQL语言分类DDL、DML、DQL、TCL、DCL
- DML、DDL、DCL与DQL的区别
- 区分DML,DDL,DCL,DQL
- SQL四种语言:DDL,DML,DCL,TCL
- DQL、DML、DDL、DCL的概念与区别
- Oracle DML DDL DCL TCL
- DDL、DML、DCL
- SQL四种语言:DDL,DML,DCL,TCL
- MySQL常用DDL、DML、DCL语言整理(附样例)
- MySQL基本的DDL、DML、DCL