在使用上还是没有sqlserver和informix的identity列方便,尤其是在使用到涉及到聚合函数的时候,例如: 表t1有三列a,b,c,a在这里当作序列列 如果要对这个表插入类似数据的时候就只能写成 insert into t1(a,b,c) select seq_id.nextval,b.* from (select b,sum(c) c from t2 group by b) 如果在sqlserver等其它几种数据库中都可以将a直接设置成序列列,然后 insert into t1(b,c) select b,sum(c) from t2 group by b就可以了
to zmgowin:《 如果要对这个表插入类似数据的时候就只能写成 insert into t1(a,b,c) select seq_id.nextval,b.* from (select b,sum(c) c from t2 group by b) 》 在表上加一个触发器就和sqlserver一样了(偶觉得sqlserver的identity比较烂)
表t1有三列a,b,c,a在这里当作序列列
如果要对这个表插入类似数据的时候就只能写成
insert into t1(a,b,c) select seq_id.nextval,b.* from (select b,sum(c) c from t2 group by b)
如果在sqlserver等其它几种数据库中都可以将a直接设置成序列列,然后
insert into t1(b,c) select b,sum(c) from t2 group by b就可以了
如果要对这个表插入类似数据的时候就只能写成
insert into t1(a,b,c) select seq_id.nextval,b.* from (select b,sum(c) c from t2 group by b)
》 在表上加一个触发器就和sqlserver一样了(偶觉得sqlserver的identity比较烂)
没有跟字段直接进行关联
只能通过序列的名字来区分其用途
不过使用起来还是比较方便的。
1. 没有sql server的identity方便
2. 不好归零
正在使用数据库时突然down机,序列号可能就不会连续。