ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 标识列

标识列

原创 Linux操作系统 作者:donggua0713 时间:2010-04-26 17:12:16 0 删除 编辑
标识列



缺省情况下生成的标识列
db2 => create table test3 (id int generated by default as identity,name char(8))

db2 => insert into test3 (name) values ('dongdo')
重复7次
db2 => insert into test3 (id,name) values (8,'dongdong')


db2 => select * from test3

ID NAME
----------- --------
1 dongdo
2 dongdong
3 dongdong
4 dongdong
5 dongdong
6 dongdong
7 dongdong
8 dongdong

8 条记录已选择。

db2 => insert into test3 (name) values ('dongdo')
db2 => select * from test3

ID NAME
----------- --------
1 dongdo
2 dongdong
3 dongdong
4 dongdong
5 dongdong
6 dongdong
7 dongdong
8 dongdong
8 dongdong

9 条记录已选择。





始终生成的标识列

db2 => create table test4 (id int generated always as identity,name varchar(8))
DB20000I SQL命令成功完成。
db2 => insert into test4 values ('dongdong')
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0117N 赋值数目与指定的或隐含的列数或变量数不一样。 SQLSTATE=42802
db2 => insert into test4 (name) values ('dongdong')
DB20000I SQL命令成功完成。
db2 => insert into test4 (id,name) values (1,'dongdong')
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0798N 不能为定义为 GENERATED ALWAYS 的列 "ID" 指定值。 SQLSTATE=428C9


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7338183/viewspace-660807/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 序列相关
请登录后发表评论 登录
全部评论

注册时间:2010-04-25

  • 博文量
    30
  • 访问量
    95808