db2 (cont.) => id INT NOT NULL PRIMARY KEY generated always as identity,
db2 (cont.) => val VARCHAR(10)
db2 (cont.) =>)
DB20000I SQL 命令成功完成。
db2 =>INSERT INTO test_create_tab2(val) VALUES ('NO id')
DB20000I SQL 命令成功完成。
DB2 列的自动增长都是通过序列实现的。所以你需要确定DB2的列引用的是哪个序列,才能确定当前值、下一列值。如何确定引用哪个序列,最简单的办法是问谁添加的自动增长序列。最2的办法是直接挨个查syscat.sequences视图。执行values(next value for 序列名)能打印下一自动增长值。
插入这样的值,跟插入正常列一样。因为next value for seq_001 实际就是打印一个数字。你知道序列规则的话直接填真实数值插入就可以。
create sequence seq_001
start with 1
increment by 1
no maxvalue
no cycle
cache 21
insert into test1(cid,cname,sex,age) values(next value for seq_001,'scott','M',30)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)