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

临时表是一种辅助工具,能够提高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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值