oracl临时表创建好之后在别的存储过程里怎么用用完后怎么删

2025-03-07 00:03:47
推荐回答(3个)
回答1:

别的存储过程要调用需创建会话级的临时表,create global temporary table Student
。。。,创建表与调用存储过程必须放在同一个会话中才能调用到临时表,临时表不用删除,会话结束后会自己清空删除

回答2:

创建临时表
SQL> -- 基于会话的临时表.
SQL> CREATE GLOBAL TEMPORARY TABLE temp_table_session (
2 id INT,
3 value VARCHAR(10)
4 ) ON COMMIT PRESERVE ROWS;
Table created.

SQL>
SQL> -- 基于事务的临时表.
SQL> CREATE GLOBAL TEMPORARY TABLE temp_table_transaction (
2 id INT,
3 value VARCHAR(10)
4 ) ON COMMIT DELETE ROWS;
Table created.

临时表在事前先创建好
会话/存储过程中,只作INSERT/SELECT操作
避免在存储过程中,创建临时表
临时表数据,仅仅当前会话能够检索到,会话一的数据,在会话二那里,无法检索到,只能检索到表结构。
Oracle 不会在会话结束后,删除临时表。

回答3:

临时表无法在其他表空间使用