首页 > 解决方案 > Teradata:插入选择的表结果

问题描述

如何将各种选择产生的值插入表中?例如,下面的代码是空的:

CREATE VOLATILE TABLE TEST (CAMPO1 INT, CAMPO2 INT);

INSERT INTO TEST VALUES ( (select 1), (SELECT 2) );

SELECT * FROM TEST;

结果是表 Test 为空。“select 1”和“select 2”的结果没有插入到Test中。是否可以将值一一插入作为其他选择的结果?

标签: selectinsertteradata

解决方案


插入成功,但提交时表被清空:-)

创建 Volatile 或 Global Temporary 表的语法基于 Standard,因此是默认的ON COMMMIT PRESERVE ROWS,这在 Teradata 会话中非常无用。

你需要切换到

CREATE VOLATILE TABLE TEST (CAMPO1 INT, CAMPO2 INT) ON COMMMIT PRESERVE ROWS;

推荐阅读