【PostgreSQL-9.6.3】临时表
PostgreSQL中的临时表分两种,一种是会话级临时表,一种是事务级临时表。在会话级临时表中,数据可以存在于整个会话的生命周期中,在事务级临时表中的数据只能存在于事务的生命周期中。
1. 会话级临时表
##创建会话级临时表,PG中默认创建的就是会话级的。
test=# create TEMPORARY table tmp1 (id int primary key,note text);
CREATE TABLE ##查看表属性,schema为“pg_temp_x”,其中“x”代表一个数字,不同的session这个数字不同。
test=# \d
List of relations
Schema | Name | Type | Owner
-----------+------+-------+----------
pg_temp_3 | tmp1 | table | postgres
(1 row) ##退出会话
test=# \q ##重新登录会话
[postgres@drz bin]$ psql test;
psql (8.4.18, server 9.6.3)
WARNING: psql version 8.4, server version 9.6.
Some psql features might not work.
Type "help" for help. ##再次查看,临时表已经消失
test=# \d
No relations found.
2. 事务级临时表
在创建事务级临时表语句中需要加上"on commit delete rows"子句。
##创建事务级临时表
test=# create TEMPORARY table tmp2 (id int primary key,note text) on commit delete rows;
CREATE TABLE ##开始一个事务
test=# begin;
BEGIN ##插入测试数据
test=# insert into tmp2 values (1,'Tom');
INSERT 0 1
test=# insert into tmp2 values (2,'Peter');
INSERT 0 1 ##查看表中数据
test=# select * from tmp2;
id | note
----+-------
1 | Tom
2 | Peter
(2 rows) ##结束事务
test=# end;
COMMIT ##再次查看,表中数据已经消失,因为事务级临时表中数据只存在于事务的生命周期中
test=# select * from tmp2;
id | note
----+------
(0 rows)
总结:
1. 不管是会话级还是事务级的临时表,当会话结束后,临时表会消失,这和Oracle数据库不同。Oracle数据库当会话结束后,数据消失,而表依然存在。
2. "ON COMMIT" 子句有三种形式,默认使用的是PRESERVE ROWS:
(1)ON COMMIT PRESERVE ROWS 表示临时表的数据在事务结束后保留;
(2)ON COMMIT DELETE ROWS 表示临时表的数据在事务结束后truncate掉;
(3)ON COMMIT DROP 表示临时表在事务结束后删除。
The End!
2017-08-15
【PostgreSQL-9.6.3】临时表的更多相关文章
- Postgresql临时表
PostgreSQL支持两类临时表,会话级和事务级临时表.在会话级别的临时表中,在整个会话的生命周期中,数据一直保存.事务级临时表,数据只存在于这个事务的生命周期中.不指定临时表的属性, Postgr ...
- postgresql逻辑结构--表(二)
一.创建表 语法: create table table_name( col01_name data_type, col02_name data_type, col03_name data_type, ...
- Postgresql中临时表(temporary table)的特性和用法
熟悉Oracle的人,相比对临时表(temporary table)并不陌生,很多场景对解决问题起到不错的作用,开源库Postgresql中,也有临时表的概念,虽然和Oracle中临时表名字相同,使用 ...
- 数据处理之PostgreSQL过程语言学习
前段时间,公司更换新的PostgreSQL数据集市的系统过程中,自己下载了postgresqlAPI的pdf文件研究了一下PostgreSQL数据集市.发现使用PostgreSQL过程语言可以大大加快 ...
- 【转】 MySQL与PostgreSQL:该选择哪个开源数据库?哪一个更好?
转载地址:http://www.infoq.com/cn/news/2013/12/mysql-vs-postgresql 如果打算为项目选择一款免费.开源的数据库,那么你可能会在MySQL与Post ...
- PostgreSQL 中日期类型转换与变量使用及相关问题
PostgreSQL中日期类型与字符串类型的转换方法 示例如下: postgres=# select current_date; date ------------ 2015-08-31 (1 row ...
- PostgreSQL应用相关问题解决
PostgreSQL中是否区分聚簇索引与非聚簇索引的问题? 答:PostgreSQL中区分聚簇索引与非聚簇索引. 示例如下: 创建聚族索引: CREATE INDEX test_ind ON yy ( ...
- 常用SQL操作(MySQL或PostgreSQL)与相关数据库概念
本文对常用数据库操作及相关基本概念进行总结:MySQL和PostgreSQL对SQL的支持有所不同,大部分SQL操作还是一样的. 选择要用的数据库(MySQL):use database_name; ...
- 聚集索引、非聚集索引、聚集索引组织表、堆组织表、Mysql/PostgreSQL对比、联合主键/自增长、InnoDB/MyISAM(引擎方面另开一篇)
参考了多篇文章,分别记录,如下. 下面是第一篇的总结 http://www.jb51.net/article/76007.htm: 在MySQL中,InnoDB引擎表是(聚集)索引组织表(cluste ...
- postgresql大批量数据导入方法
一直没有好好关注这个功能,昨天看了一下,数据库插入有瓶颈,今天研究了一下: 主要有以下方案: 1.使用copy从文件导入: copy table_001(a, b, "f", d, ...
随机推荐
- zoj 3812 状压dp
转载:http://blog.csdn.net/qian99/article/details/39138329 题意:给出n个物品,每个物品有两种属性Wi,Ti,有q组查询,每组查询要求在n个物品中选 ...
- codevs3730 无线网络发射选址
题目描述 Description 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129条东西向街道和129条南北向街道所形 ...
- Springmvc 一个简单的管理系统 我所遇到的坑1(持续更新)
前言 好久没有用springmvc写项目了,抽时间写一个简单的springmvc项目 是什么(what)为什么(why)怎么做(how) 1.读书破万卷下笔如有神(理清思路,知识储备和前期整理) 2. ...
- Ubuntu 16.04安装7zip
搜索时发现7zip有两个:p7zip,p7zip-full,p7zip-rar.研究发现: p7zip:包含7zr(最小的7zip归档工具),仅仅只能处理原生的7z格式. p7zip-full:包含7 ...
- 上帝说:要约炮!于是有了XMPP
一.导入XMPP框架 下载 XMPPFramework 框架 GitHub: XMPPFramework 导入依赖框架 CocoaLumberjack : 日志框架 CocoaAsyncSocket ...
- sql server 2016
https://www.microsoft.com/zh-cn/server-cloud/products/sql-server/
- CentOS 7: 配置Network
Command Mode Step 1 » Network interface config files are located in /etc/sysconfig/network-scripts/ ...
- CoreData使用方法三: NSPredicate在CoreData中的使用
NSPredicate在CoreData中经常使用作查询使用,相当于sql语句中的where查询子句. 最经常使用的方法为: NSPredicate *ca = [NSPredicate predic ...
- 用JavaScript截图
用JavaScript截图 使用JavaScript截图,这里我要推荐两款开源组件:一个是Canvas2Image,它可以将Canvas绘图编程PNG/JPEG/BMP的图像:但是光有它还不够,我 ...
- sql_server_action
''' SELECT * FROM Info_Roles WHERE Flag=1 LIMIT 2; select top y * from 表 where 主键 not in(select top ...