sql实现简单自增长

在设计数据库表的过程中,主键一般都设为自增长,数据库产品自带的序列可以解决这个问题。

其实,用简单的sql查询语句也可以实现。

假设现在有一张商品表sp001:

Paste_Image.png

主键是SPBH,希望从000 增长到 999,不用序列的话可以这样做: 新建一个程序包,用来处理商品信息的业务:

create or replace package pkg_spgl is
     --获得商品编号
     function getSpBh(increment integer) return varchar2; 
       
end pkg_spgl;


create or replace package body pkg_spgl is
       function getSpBh(increment integer) return varchar2 is
         spbh  sp001.spbh%type;
       begin
           select to_char(nvl(max(a.spbh),0)+increment,'FM000') into spbh from jack.sp001 a ;
           return spbh;
       end;
end pkg_spgl;

然后,在insert数据的时候,直接调用获取商品编号的方法即可:

insert into jack.sp001 values(jack.pkg_spgl.getSpBh(1),'可乐',2.5,30,null,'110000') ;

insert into jack.sp001 values(jack.pkg_spgl.getSpBh(1),'牛奶',3.5,50,null,'110000') ;

insert into jack.sp001 values(jack.pkg_spgl.getSpBh(1),'饼干',5,30,null,'110000') ;

insert into jack.sp001 values(jack.pkg_spgl.getSpBh(1),'蛋糕',100,10,null,'110000') ;

如图,这样也可以简单实现。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的Python和你

Python爬虫+颜值打分,5000+图片找到你的Mrs. Right

本项目利用Python爬虫和百度人脸识别API,针对简书交友专栏,爬取用户照片(侵删),并进行打分。 本项目包括以下内容:

21830
来自专栏章鱼的慢慢技术路

Unity入门教程(下)

29630
来自专栏LinXunFeng的专栏

iOS - 视频采集详解

22530
来自专栏進无尽的文章

地图| 高德地图源码级使用大全

高德地图提供包括:web前端、Android、iOS、服务器、小程序等平台的地图服务, 地图功能众多,本文记载的只是自己遇到的一些问题,绝大部分功能只要参照官...

69720
来自专栏张善友的专栏

Entity Framework Code First 支持存储过程

存储过程(Stored Procedure)不仅仅是将多得简直荒唐的业务逻辑塞入数据库的一种方式;它还是避免将多得简直荒唐的存储逻辑塞入应用程序层(applic...

21580
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合

前言 本来这一篇和接下来的几篇是打算讲一下JDBC和数据库优化的,但是最近很多朋友加我好友也讨论了一些问题,我发现大家似乎都是拿这个项目作为练手项目,作为脚手架...

36560
来自专栏施炯的IoT开发专栏

PhoneFinder--寻找丢失的手机

    手机丢了怎么办?那就打电话给手机,如果运气好的话,捡到的好心人能够把手机还给你。如果手机是被偷的,那就没有办法了,即使手机开着,估计小偷也不会接电话。当...

29240
来自专栏javascript趣味编程

9.1 汽包锅炉水位自动控制

1,水池Pool,底面积为1m2,初始液位为1m,水的初始容积为1m3,目标水位(targetLevel)控制在1.2m,实际液位(actualLevel)受入...

15500
来自专栏数据和云

知己知彼-关于Oracle安全比特币勒索问题揭秘和防范

风险从来都不是臆想和草木皆兵,就在你不经意的时刻,可能风险就突然降临到我们的身边。 近期,国内很多用户的 Oracle 数据库,突然遭遇到莫名其妙的攻击事件,...

36050
来自专栏用户画像

实验室3 sql server 产品销售数据库

某公司的产品销售数据库company,company数据库中存在人事表employee、客户表customer、销售表sales、销售明细表sale_item、...

9430

扫码关注云+社区

领取腾讯云代金券