mysql 临时表 会话级_会话级临时表

本文介绍了Oracle数据库中全局临时表的创建和使用,强调了临时表的数据只在当前会话中有效,并且不同会话无法访问彼此的临时表数据。通过示例展示了数据插入、查询以及提交操作,进一步说明了临时表在会话结束后的数据清除和元数据保留情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,创建临时表

SQL> CREATE GLOBAL TEMPORARY TABLE "HR"."TEMP_TABLE" ( "X" VARCHAR2(10)) ON COMMIT PRESERVE ROWS;

Table created.

SQL> insert into temp_table select * from test;

5 rows created.

SQL> select * from temp_table;

X

----------

1

2

3

4

5

SQL> commit;

Commit complete.

SQL> select * from temp_table;

X

----------

1

2

3

4

5

SQL> conn soe/soe;

Connected.

SQL> conn hr/oracle

Connected.

SQL> select * from temp_table;

no rows selected

总结:可见会话级级临时表只在当前会话中有效,当会话结束后表中数据被清空,表结构及元数据依然存在用户的数据字典中。

SQL> insert into temp_table select * from test;

5 rows created.

SQL> select * from temp_table;

X

----------

1

2

3

4

5

SQL> commit;

Commit complete.

现在另重新打开一个session,然后查询该临时表。

SQL> select * from temp_table;

no rows selected

在新开的会话中重新插入数据:

SQL> select * from temp_table;

X

----------

6

7

8

9

SQL> commit;

Commit complete.

现在在原会话中查看该临时表

SQL> select * from temp_table;

X

----------

1

2

3

4

5

依然没有变化

总结:临时表中的数据只对当前session有效,每个session都有自己的临时数据并且不能访问其他session的临时表中的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值