通常我们在设计表的时候,会加一个排序字段,为的是方便数据的排序,比如上移、下移。如果在给数据表插入数据的时候,想要使这个字段的默认值跟数据库的主键(主键是自增长)一致的话,该怎么弄呢?先插入,然后取出刚刚插入的数据的主键,然后对这行数据更新,将排序的值更新为主键的值?理论上这样做也能实现,但是如果并发量大的情况这样做就不划算了。这时候我们可以用到一个sql的函数ident_current,如下:
INSERT INTO tab (c1,c2,c3) values ('aa','bb',ident_current('tab'))
这个sql 命令是对tab表插入3列 分别是c1 c2 c3,对应的值分别是aa bb 和ident_current('tab'),ident_current('tab') 取出的就是tab表的主键.
一个函数,简简单单的就完成了开篇是分析的逻辑.