PG创建临时表时添加on commit drop参数

on commit drop

  • 结论
    • on commit drop只能在创建临时表的时候使用
    • 使用该参数创建的临时表只能在同一个事务中访问
    • 不带该参数的临时表可以在同一个回话中被访问
  • 实例代码
imos=# create temp table test as select generate_series(1,10);
SELECT 10
imos=# drop table test;
DROP TABLE
imos=# create temp table test on commit drop  as select generate_series(1,10);
SELECT 10
imos=# select * from test;
ERROR:  relation "test" does not exist
LINE 1: select * from test;
                      ^
imos=# 
imos=# 
imos=# create temp table test   as select generate_series(1,10);
SELECT 10
imos=# select * from test;
 generate_series 
-----------------
               1
               2
               3
               4
               5
               6
               7
               8
               9
              10
(10 rows)

imos=# 
imos=# 
imos=# 
imos=# 
imos=# 
imos=# begin;
BEGIN
imos=# create temp table test1 on commit drop as select generate_series(1,10);
SELECT 10
imos=# select * from test1;
 generate_series 
-----------------
               1
               2
               3
               4
               5
               6
               7
               8
               9
              10
(10 rows)

imos=# commit;
COMMIT
imos=# select * from test1;
ERROR:  relation "test1" does not exist
LINE 1: select * from test1;
                      ^
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值