创建临时表 DM8达梦数据库
1 事务型临时表
创建指定临时表是事务级的,每次事务提交或回滚之后,表中所有数据都被删除
CREATE TEMPORARY TABLE TEMP_COMM (C1 INT,C2 INT,C3 DATETIME) ON COMMIT DELETE ROWS;
2 会话型临时表
创建指定临时表是会话级的,会话结束时才清空表;
CREATE TEMPORARY TABLE TEMP_SESS (C1 INT,C2 INT,C3 DATETIME) ON COMMIT PRESERVE ROWS;
- 临时表的索引永远在 TEMP表空间;
- 若指定 TEMPORARY,则表示该表为一个临时表,只在一个会话中有效,当一个会话结束,该临时表被自动清空。表名需要是合法的标识符,且满足 SQL 语法要求。当表名以“##”开头时,该表为全局临时表;
- 表名不允许使用以下字符串作为前缀:BM_、BMJ、MDRT_、MLOG、MTAB_、MVIEW、MTRG_、STAT。表名不允许使用以下字符串作为后缀:ALOG、AUX、DAUX、RAUX、ROT、UAUX;
- TEMPORARY 临 时 表 不 支 持 压 缩 COMPRESS 功 能 。 当ENABLE_TMP_TAB_ROLLBACK 为 0 时,不允许对临时表创建主键约束以及唯一约束;
- GLOBAL 目前仅支持 GLOBAL 临时表,因此建临时表时是否指定 GLOBAL 效果是一样的;
- 表名最大长度为 128 个字节;
- 所建基表至少要包含一个<列名>指定的列,在一个基表中,各<列名>不得相同。一张基表中至多可以包含 2048 列;
3 达梦数据库学习使用列表
达梦数据库学习使用列表 - - 点击跳转