我的编程空间,编程开发者的网络收藏夹
学习永远不晚

关于关于序列自增实际应用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

关于关于序列自增实际应用

    在一些业务表中原本不需要ID字段作为唯一标识,可是在后期为了方便和需求要在数据表中加ID列作为主键或者外键!那么下面总结了两种方式:

    解决方案一:

        序列+UPDATE,原表有数据想新增一列ID,自动增值

        1、创建序列

          格式:

            create sequence test_seq

            start with 1--起始位1

            increment by 1--根基需求,每次增加多少

            minvalue 1--最小值

            maxvalue 999--根据需求最大值

            nocache--无缓存

         详细请看本人博客序列介绍

        2、进行插入

           格式:

             update 表 set ID=test_seq.nextval;--原数据表中有多少行,ID就会插入多少行

            注意这是更改!也就是说原来你表中ID如果有数据将会被覆盖

            本方法适用于新建ID列无数据,不牵扯其余列动作指令,保证数据完整性,大多数序列用于自动增长

    解决方案二:

        另一种场景就是想来点高端的(特殊场景),当我插入或者更改某列,把数据按照序列增长的步调来实现

            序列+触发器+游标

            1、创建序列

              格式:

                create sequence test_seq

                start with 0--起始位

                increment by 3--每次我想增加3

                minvalue 1--最小值

                maxvalue 999--根据需求最大值

                nocache--无缓存

            2、创建触发器

                格式:

                    create or replace trigger trig_test

                    before update on test_table

                    for each row

                    declare ing_age number;

                    begin 

                        if :new.ID = 0 or :new.ID is null then

                            select test_seq.nextval into ing_age from sys.dual;

                            :new.ID := ing_age;

                        end if;

                     end trig_test;

            如果爱有需求可以整个游标,这里不再掩饰,因为如果单存对序列等一类问题操作,这样就复杂化会增加数据库和后期维护的成本负担。



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

关于关于序列自增实际应用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

关于新一代接入路由器在企业里面的实际应用

  边缘路由器,又称"接入路由器",是位于网络外围(边缘)的路由器。边缘路由器和核心路由器是相对概念,它们都属于路由器,但是有不同的大小和容量,某一层的核心路由器是另一层的边缘路由器。今天小编要给大家分享一篇教程,那就是:关于新一代接入路由器在企业里面的实际应用。  想必不需要小编多说,大家都应该可以看到我们国家的接入
关于新一代接入路由器在企业里面的实际应用
2024-04-18

关于Python列表元素排序操作sort()、min()、max()函数用法

这篇文章主要介绍了关于Python列表元素排序操作sort()、min()、max()函数用法,python中提供了列表元素的操作函数,那么这些函数该怎么使用呢,感兴趣的朋友一起来看看吧
2023-05-17

Android实现获取应用程序相关信息列表的方法

本文所述为Androdi获取手机应用列表的方法,比如获取到Android应用的软件属性、大小和应用程序路径、应用名称等,获取所有已安装的Android应用列表,包括那些卸载了的,但没有清除数据的应用程序,同时在获取到应用信息的时候,判断是不
2022-06-06

关于vba代码运行时错误1004 应用程序定义或对象定义错误问题

这篇文章主要介绍了vba代码运行时错误1004 应用程序定义或对象定义错误,经过一系列问题调查发现是工作表中数据存在异常,需要的朋友可以参考下
2022-11-13

编程热搜

目录