重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
oracle的行号用rownum来表示。
成都创新互联公司是一家专业提供临沧企业网站建设,专注与做网站、网站设计、成都h5网站建设、小程序制作等业务。10年已为临沧众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
如:有test表,数据如下:
现在要求给出每行的行号,可用如下SQL语句。
select rownum,test.* from test;
查询结果如下:
DB2数据库不提供行号的查询,如果你真的需要行号的话,可以在表中增加一个自增长的列,每插入一条数据,该列自动增加1,相当于行号,不过这样的话,效率会比较低。
如果没有必须累加1的要求,允许跳号的话,最好使用sequence,
没有性能问题。
可以在创建sequence的时候设定开始值就是100000,插入的时候用select
sequenceName.Nextval
就可以自增长。
如果不采用这种方式,可以新建一张表存放当前ID的最大值,每次从这里取值,然后再update
+
1.
记得需要for
update锁表,以免并发时号码重复。不建议这种方式,性能比较差