如何在Informix中创建临时表并导入现有表的带过滤条件的数据?
Informix创建带过滤数据的临时表支持说明
Informix完全支持这种基于现有表创建临时表并导入过滤后数据的操作,常用实现方式有两种:
方式一:一键创建并插入数据
直接通过SELECT INTO TEMP TABLE语句,自动生成与源表结构一致的临时表,并同步插入符合过滤条件的数据:
SELECT * INTO TEMP TABLE temp_countries FROM countries WHERE name = 'germany';
默认创建的是会话级临时表,仅当前数据库会话可见,会话结束后会自动被数据库清理。
方式二:先建表再插入数据
如果需要自定义临时表结构(比如修改字段类型、增减字段),可以先创建临时表,再执行插入操作:
- 创建临时表(字段结构可按需调整):
CREATE TEMP TABLE temp_countries ( id INT, name VARCHAR(50), region VARCHAR(30), -- 其他与countries表匹配的字段 );
- 导入过滤后的数据:
INSERT INTO temp_countries SELECT id, name, region -- 需与目标表字段对应 FROM countries WHERE name = 'germany';
临时表扩展说明
如果需要创建事务级临时表(事务提交后自动清空数据),可以在创建时添加ON COMMIT DELETE ROWS参数:
CREATE TEMP TABLE temp_countries ( id INT, name VARCHAR(50) ) ON COMMIT DELETE ROWS;
内容的提问来源于stack exchange,提问作者Mi2830
相关产品推荐
相关产品推荐

