oracle创建as临时表
时间: 2023-11-12 16:09:04 浏览: 97
Oracle可以使用CREATE GLOBAL TEMPORARY TABLE语句创建AS临时表,具体语法如下:
```sql
CREATE GLOBAL TEMPORARY TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
)
ON COMMIT { DELETE | PRESERVE } ROWS;
```
其中,table_name为AS临时表的名称;column1、column2等为AS临时表的列名和数据类型;ON COMMIT DELETE表示在事务提交时,AS临时表中的所有数据都将被删除;ON COMMIT PRESERVE表示在事务提交时,AS临时表中的数据将被保留。
例如,创建一个名为temp_emp的AS临时表,该表包含emp_id、emp_name和emp_salary三个列,数据在事务提交时被删除,可以使用以下语句:
```sql
CREATE GLOBAL TEMPORARY TABLE temp_emp
(
emp_id NUMBER(10),
emp_name VARCHAR2(50),
emp_salary NUMBER(10, 2)
)
ON COMMIT DELETE ROWS;
```
创建成功后,就可以像普通表一样使用AS临时表了。需要注意的是,由于AS临时表是全局临时表,因此可以被多个用户共享,但是每个用户只能看到自己插入的数据。同时,AS临时表的结构和数据只在当前会话中可见,在其他会话中是不可见的。
阅读全文