oracle创建临时表语句
时间: 2023-09-18 16:09:26 浏览: 92
Oracle中临时表的创建
Oracle创建临时表的语句如下:
```sql
CREATE GLOBAL TEMPORARY TABLE temp_table (
column1 datatype1 [ NULL | NOT NULL ],
column2 datatype2 [ NULL | NOT NULL ],
...,
CONSTRAINT temp_table_pk PRIMARY KEY (column1, column2, ...),
CONSTRAINT temp_table_fk FOREIGN KEY (column3, column4, ...)
REFERENCES parent_table (column5, column6, ...)
[ ON DELETE { CASCADE | SET NULL } ]
)
ON COMMIT { PRESERVE ROWS | DELETE ROWS }
[ ON COMMIT { DROP | DELETE } ];
```
其中:
- `temp_table`是临时表的名称。
- `column1, column2, ...`是临时表中的列名和数据类型。
- `temp_table_pk`是临时表的主键约束。
- `temp_table_fk`是临时表的外键约束。
- `parent_table`是所引用的父表名称。
- `ON COMMIT`子句指定在提交事务时如何处理临时表中的数据。`PRESERVE ROWS`表示在提交事务之后保留临时表中的数据,`DELETE ROWS`表示在提交事务之后删除临时表中的数据。`DROP`和`DELETE`表示在提交事务之后删除临时表。
- `GLOBAL TEMPORARY`关键字表示创建的是全局临时表,可以被多个会话共享;如果不指定该关键字,则创建的是局部临时表,只能被当前会话使用。
阅读全文