临时表的使用

临时表:临时存储数据的表格,数据暂时放在这个表格中,等会会自动的根据什么事件消失掉,不会永久的占用你的物理磁盘的空间。
会话级临时表:
create global temporary table 表名(
列名 数据类型
)on commit preserve rows;

create global temporary table dept_tmp(
deptno number,
dname varchar2(20),
loc varchar2(20)
)on commit preserve rows;

insert into dept_tmp select * from scott.dept;

select * from dept_tmp;
重新打开plsql的对话框,dept_tmp的表格内容就清空了

事务级临时表:
create global temporary table 表名(
列名 数据类型
)on commit delete rows;

create global temporary table dept_tmp_2(
deptno number,
dname varchar2(20),
loc varchar2(20)
)on commit delete rows;

insert into dept_tmp_2 select * from scott.dept;

select * from dept_tmp_2;
如果进行了commit和rollback的操作,表格的数据都会被清空。
如果是正常的sql语句的操作,那么一般会话级的操作更多;
如果是在代码中写sql语句,那么就是事务级的临时表更多

insert into 表名 select 语句;
将查询的结果,追加复制到表格中。
数据库的with as语句:
with 别名 as (select 语句),
别名 as (select 语句),

select 查询;

–查询SMITH上班的地点
with a as (select deptno from scott.emp where ename=‘SMITH’)
select loc from a join scott.dept b on a.deptno=b.deptno;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一鸣888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值