温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

临时表如何创建与删除

发布时间:2026-07-01 07:26:41 来源:亿速云 阅读:87 作者:小樊 栏目:数据库

下面以常见数据库(MySQL、PostgreSQL、SQL Server、Oracle)为例,说明临时表的创建与删除


一、MySQL

1️⃣ 创建临时表

CREATE TEMPORARY TABLE temp_user (
    id INT,
    name VARCHAR(50)
);

✅ 特点:

  • 只在当前会话可见
  • 会话断开后自动删除
  • 不能跨连接访问

2️⃣ 删除临时表

DROP TEMPORARY TABLE IF EXISTS temp_user;

✅ 推荐显式删除,避免误删普通表


二、PostgreSQL

1️⃣ 创建临时表

CREATE TEMP TABLE temp_user (
    id INT,
    name VARCHAR(50)
);

默认行为:

  • 会话结束自动删除

可选:

CREATE TEMP TABLE temp_user
ON COMMIT DROP;   -- 事务提交后删除

2️⃣ 删除临时表

DROP TABLE IF EXISTS temp_user;

三、SQL Server

1️⃣ 创建局部临时表

CREATE TABLE #temp_user (
    id INT,
    name VARCHAR(50)
);

✅ 只在当前会话可见

2️⃣ 创建全局临时表

CREATE TABLE ##temp_user (
    id INT,
    name VARCHAR(50)
);

✅ 所有会话可见,所有会话断开后删除

3️⃣ 删除临时表

DROP TABLE IF EXISTS #temp_user;

四、Oracle

1️⃣ 创建临时表

CREATE GLOBAL TEMPORARY TABLE temp_user (
    id NUMBER,
    name VARCHAR2(50)
)
ON COMMIT DELETE ROWS;  -- 提交后清空数据

ON COMMIT PRESERVE ROWS;  -- 会话结束清空数据

2️⃣ 删除临时表

DROP TABLE temp_user;

✅ Oracle 临时表结构是持久的,仅数据临时


五、通用建议 ✅

  • 用完即删,避免表残留
  • ✅ 使用 IF EXISTS 防止报错
  • ✅ 注意不同数据库对“临时”的定义不同
  • ✅ 临时表不适合长期存储数据

如果你有特定数据库版本使用场景(如存储过程、数据分析),我可以给你更精准的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI