Trafodion sequence与自增序列
来源:互联网 发布:java里把大括号替换 编辑:程序博客网 时间:2024/06/04 19:01
Trafodion中创建SEQUENCE与Oracle类似,基本语法如下,
CREATE SEQUENCE seqname{START WITH bigint}{MINVALUE bigint}{MAXVALUE bigint}{INCREMENT BY bigint}{CACHE bigint}
下面创建一个最基本的Sequence,
SQL>create sequence seq1;--- SQL operation complete.SQL>showddl sequence seq1;CREATE SEQUENCE TRAFODION.SEABASE.SEQ1 START WITH 1 /* NEXT AVAILABLE VALUE 1 */ INCREMENT BY 1 MAXVALUE 9223372036854775806 MINVALUE 1 CACHE 25 NO CYCLE LARGEINT;--- SQL operation complete.
那如何在表中添加自增序列呢?
在表中添加自增序列有两种方法,
- GENERATE BY DEFAULT AS IDENTITY
- GENERATE ALWAYS AS IDENTTIY
下面分别创建两个不同的表,
create table test1(aa LARGEINT GENERATED BY DEFAULT AS IDENTITY,bb VARCHAR(10));create table test2(aa LARGEINT GENERATED ALWAYS AS IDENTITY,bb VARCHAR(10));
查看两个表的定义,
SQL>showddl test1;CREATE TABLE TRAFODION.SEABASE.TEST1 ( AA LARGEINT GENERATED BY DEFAULT AS IDENTITY ( START WITH 1 INCREMENT BY 1 MAXVALUE 9223372036854775806 MINVALUE 1 CACHE 25 NO CYCLE LARGEINT ) NOT NULL NOT DROPPABLE SERIALIZED , BB VARCHAR(10) CHARACTER SET ISO88591 COLLATE DEFAULT DEFAULT NULL SERIALIZED );-- The following sequence is a system created sequence --CREATE SEQUENCE TRAFODION.SEABASE."_TRAFODION_SEABASE_TEST1_AA_" /* INTERNAL */ START WITH 1 /* NEXT AVAILABLE VALUE 1 */ INCREMENT BY 1 MAXVALUE 9223372036854775806 MINVALUE 1 CACHE 25 NO CYCLE LARGEINT;--- SQL operation complete.SQL>showddl test2;CREATE TABLE TRAFODION.SEABASE.TEST2 ( AA LARGEINT GENERATED ALWAYS AS IDENTITY ( START WITH 1 INCREMENT BY 1 MAXVALUE 9223372036854775806 MINVALUE 1 CACHE 25 NO CYCLE LARGEINT ) NOT NULL NOT DROPPABLE SERIALIZED , BB VARCHAR(10) CHARACTER SET ISO88591 COLLATE DEFAULT DEFAULT NULL SERIALIZED );-- The following sequence is a system created sequence --CREATE SEQUENCE TRAFODION.SEABASE."_TRAFODION_SEABASE_TEST2_AA_" /* INTERNAL */ START WITH 1 /* NEXT AVAILABLE VALUE 1 */ INCREMENT BY 1 MAXVALUE 9223372036854775806 MINVALUE 1 CACHE 25 NO CYCLE LARGEINT;--- SQL operation complete.
分别往两个表插入数据,
SQL>insert into test1 values(1,'AAA');--- 1 row(s) inserted.SQL>insert into test2 values(1,'AAA');*** ERROR[3428] IDENTITY column AA defined as GENERATED ALWAYS cannot accept values specified by the user. [2016-11-24 17:41:38]
此时我们发现,GENERATE ALWAYS AS IDENTITY方式不能手动插入值,我们可以用下面方法代替,
SQL>insert into test2(bb) values('AAA');--- 1 row(s) inserted.SQL>select * from test2;AA BB-------------------- ---------- 1 AAA--- 1 row(s) selected.
1 0
- Trafodion sequence与自增序列
- ORACLE 自增序列SEQUENCE
- ORACLE 自增序列SEQUENCE
- ORACLE 自增序列SEQUENCE
- ORACLE 自增序列SEQUENCE
- mysql自增序列 sequence
- ORACLE中创建自增序列sequence
- DB2序列 自增列 解决之Sequence 对象
- Orcle 主键自增(序列sequence、触发器trigger、主键primary)
- 注解的方式,设置ORACLE数据库自增序列SEQUENCE
- Orcle 主键自增(序列sequence、触发器trigger、主键primary)
- Oracle中的序列(sequence、自增字段)
- mysql 中创建自增的序列(Sequence)
- oracle创建自定义自增长序列sequence
- 自增长列和序列的区别(identity与sequence的区别)
- SEQUENCE 自增
- SEQUENCE自增列
- allocationSize与自增序列的关系
- swift 宏定义
- 开发人员Git基本使用
- 十年游戏老兵,如何开发出一款受索尼青睐的VR游戏?
- IOS常用第三方库
- Android.mk和GNU Makefile
- Trafodion sequence与自增序列
- 分布式事务2PC && 3PC
- awk fieldwidths
- Intellij IDEA 快捷键整理
- IOSWebView的使用以及WKWebView的使用
- 解决xcode8的快速注释失效
- 成都市武侯区创业路和九兴大道交汇处走丢一只狗狗
- 不能在具有唯一索引 'RoleNameIndex' 的对象 'dbo.AspNetRoles' 中插入重复键的行
- MFC中控件的运算处理