SQL Server
-- 创建本地临时表.
CREATE TABLE #temp_table_local (
id INT,
value VARCHAR(10)
);
go
-- 创建全局临时表.
CREATE TABLE ##temp_table_global (
id INT,
value VARCHAR(10)
);
go
本地临时表,前面一个 #
全局临时表,前面两个 #
临时表在会话中创建,会话结束的时候,数据库自动删除临时表
对于 本地临时表 (#开头的) 其他会话无法访问数据与表结构
对于 全局临时表 (##开头的) 其他会话可以访问数据与表结构
SQL Server会在会话结束以后,自动删除临时表。
------------------------------------------------------------------------------------------------
Oracle
在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除 TRANACTION临时表数据。
1,创建会话级临时表
- create global temporary table temp_tbl(col_a varchar2(30)) on commit preserve rows
2, 创建事务级临时表