在数据库中,Temporary Table(临时表) 是用于临时存储数据的表,通常只在当前会话(Session)或当前事务中存在,会话结束或事务提交/回滚后会被自动删除。
下面按常见数据库分别说明如何创建临时表。
CREATE TEMPORARY TABLE temp_table (
id INT,
name VARCHAR(50)
);
特点:
INSERT INTO temp_table VALUES (1, 'Tom');
SELECT * FROM temp_table;
CREATE TEMPORARY TABLE temp_table (
id INT,
name TEXT
);
或简写:
CREATE TEMP TABLE temp_table (
id INT,
name TEXT
);
-- 事务结束时删除
CREATE TEMP TABLE temp_table (
id INT
) ON COMMIT DROP;
-- 会话结束时删除(默认)
CREATE TEMP TABLE temp_table (
id INT
) ON COMMIT PRESERVE ROWS;
CREATE TABLE #temp_table (
id INT,
name NVARCHAR(50)
);
特点:
CREATE TABLE ##temp_table (
id INT,
name NVARCHAR(50)
);
特点:
Oracle 的临时表是预先定义结构,数据按会话或事务临时存在。
CREATE GLOBAL TEMPORARY TABLE temp_table (
id NUMBER,
name VARCHAR2(50)
)
ON COMMIT DELETE ROWS;
说明:
ON COMMIT DELETE ROWS:事务结束清空数据ON COMMIT PRESERVE ROWS:会话结束清空数据如果你告诉我具体使用的是哪种数据库(MySQL / PostgreSQL / SQL Server / Oracle),我可以给你更精确的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。