论坛首页 综合技术论坛

Teradata SQL可变临时表中无法使用递增字段

浏览 2265 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-17   最后修改:2010-03-17

临时表是一种辅助工具,能够提高SQL操作的性能。特别是针对下列情况的SQL操作:

1.不能使用规范化的表;

2.要求多条 SQL 语句完成。

因为有一个需求就是要更新生产系统上的数据,但是生产系统上的数据又要保证正常,5张表之间都有关联关系,因为不能操作生成系统的数据,我的构思是,当用户登录的时候,系统初始,创建5个可变可变临时表,并从生产环境把数据导入可变临时表,用户操作的只是可变临时表,当更新完成的时候,执行检查关系的sql,检查通过后写回生产库。

但是今天测试的时候,发现Teradata数据库可变临时表中无法创建递增字段,但是官方文档也没有说明,如果有知道的朋友可以告诉我,我写的sql如下:

CREATE VOLATILE MULTISET TABLE FXYC01 (
ID INTEGER GENERATED BY DEFAULT AS IDENTITY
(   START WITH 1 
		INCREMENT BY 1 
		MINVALUE 1 
		MAXVALUE 99999999 
		NO CYCLE
),
C1 INTEGER)PRIMARY INDEX(ID)
ON COMMIT PRESERVE ROWS;

 

如果不使用可变临时表,则正常,相关sql如下:

CREATE MULTISET TABLE FXYC01 (
ID INTEGER GENERATED BY DEFAULT AS IDENTITY
(   START WITH 1 
		INCREMENT BY 1 
		MINVALUE 1 
		MAXVALUE 99999999 
		NO CYCLE
),
C1 INTEGER)PRIMARY INDEX(ID);

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics