要创建一个Oracle临时表,可以使用以下语法:
CREATE GLOBAL TEMPORARY TABLE 表名 ( 列名1 数据类型1, 列名2 数据类型2, … ) ON COMMIT {DELETE ROWS | PRESERVE ROWS};
其中,表名是临时表的名称,列名和数据类型是表的列及其对应的数据类型。
ON COMMIT子句用于指定在事务提交时如何处理临时表中的数据。DELETE ROWS选项表示在事务提交后删除临时表中的所有数据,而PRESERVE ROWS选项表示在事务提交后保留临时表中的数据。
需要注意的是,临时表的结构定义在会话结束后会自动删除,但如果保留了数据(使用PRESERVE ROWS选项),那么数据会保留到会话结束后,但表结构会被删除。
以下是一个创建Oracle临时表的示例:
CREATE GLOBAL TEMPORARY TABLE temp_table ( id NUMBER, name VARCHAR2(50) ) ON COMMIT DELETE ROWS;
这个示例创建了一个名为temp_table的临时表,包含id和name两个列,数据类型分别为NUMBER和VARCHAR2。临时表的数据在事务提交后会被删除。