首页 > 数据库 >oracle中实现主键的自动增加

oracle中实现主键的自动增加

时间:2023-07-08 21:33:05浏览次数:33  
标签:insert sequence into 序列 自动 SQL oracle create 主键


实现方法1:
建立一个最小为1,最大为nomaxvalue的一个序列号会自动循环的序列

create sequence 序列名
increment by 1
start with 1
nomaxvalue
nocycle;

当向表中插入数据时,SQL语句写法如下:
SQL> insert into 表名 values(序列名.nextval,列1值,列2值, ...);
当要重用该序列号时,有两种方法:
a. 在同一个sql块中重用:
SQL>insert into表名(序列名.currval, 列1值,列2值...);
b. 在存储进程中,将该值取到一个参数中:
SQL>select序列名.nextval into 参数名 from dual;
然后在重用该序列号的地方调用这个参数。

 

实现方法2:(利用触发器)

SQL> create sequence a_sequence
2 start with 1
3 increment by 1;

序列已创建。

SQL> create table t (n number ,v varchar2(10));

表已创建。

SQL> create or replace trigger t_trg
2 before insert or update on t
3 for each row
4 begin
5 select a_sequence.nextval into :new.n from dual;
6 end;
7 /

触发器已创建

SQL> insert into t values(111,'ok');

已创建 1 行。

SQL> select * from t;

N V
---------- ----------
1 ok

标签:insert,sequence,into,序列,自动,SQL,oracle,create,主键
From: https://blog.51cto.com/u_16179085/6663491

相关文章

  • windows bat批处理执行ctl脚本导入多个文本到oracle
            ......
  • 传奇几分钟就自动掉线解决办法
    新手开服经常遇到,传奇私服玩了几分钟就掉线,这是怎么回事呢。原因是登录器里面捆绑了插件,但登录器又不支持该插件,导致的,那么插件在那里呢?在登录器文件夹里面,有一个PlugClient的文件夹,里面就是放登录器插件的,你们打开里面,如果有什么dll文件,那么就是插件。把里面的插件删除,在从新配置......
  • 【Oracle】在PL/SQL中使用sql实现选择排序
    【Oracle】在PL/SQL中使用sql实现选择排序一般来说,SQL要排序的话直接使用orderby即可不一般来说,就是瞎搞,正好也可以巩固自己的数据结构基础使用SQL实现排序系列:使用SQL实现冒泡排序以下是正文:规范:createorreplacepackagedata_structure_pkgisprocedurexuanze_get......
  • 增加千分号,整数自动补零,小数保留两位且不四舍五入
    functionsemicolon_Add(num){num=num.replace(/,/g,"");if(num!=""){varre=/^\d+(\.\d+)?$/;if(re.test(num)){varparts=num.toString().split(".&......
  • SEO自动外链蜘蛛池工具促进百度快速收录怎么样 跟大家详谈一下
    此工具集成市面上所有自动外链网站的资源链接,经过合并、去重、筛选、验证总结出最终的外链资源,软件实时更新 本软件将您繁杂的外链推广转为自动化进行,并且加入站群的支持,您只需要将你的站群域名粘贴到软件里,点击开始按钮就可以了 软件会自动轮刷您的每一个网站 软件效......
  • 基于AidLux的自动驾驶智能预警应用方案
    基于AidLux的项目实战之智能预警在AidLux上的部署与应用1.YOLOP模型onnx转换部署YOLOP导出onnx模型执行命令:python3export_onnx.py--height640--width640执行完成后,会在weights文件夹下生成转换成功的onnx模型 2.AidLux模型转换工具AlModelOptimizer通过该工具对onnx......
  • 自动组包 & 自动解包
    1#1.自动组包(AutomaticPackaging)指的是将多个值按照一定的规则打包成一个数据结构,如元组或列表2my_tuple=1,2,3#自动组包为元组3print(type(my_tuple))#<class'tuple'>4my_list=[1,2,3]#自动组包为列表5print(type(my_list))#<class'list......
  • scp传输文件,自动填充密码
    一个偷懒的小shell,#!/usr/bin/expect#*************************************************************************#>FileName:expect.sh#>Author:chenglee#>Main:[email protected]#>Blog:http://www.cnblo......
  • http 和 https区别,自动携带cookie的session对象,响应response,下载图片视频到本地,编码
    1.1自动携带cookie的session对象#session对象----》已经模拟登录上了一些网站---》单独把cookie取出来 -res.cookies-转成字典res.cookies.get_dict()#请求头和数据importrequestsheader={'Referer':'http://www.aa7a.cn/user.php?&ref=http%3A%2F%2......
  • [推荐]ORACLE SQL:经典查询练手(不懂装懂,永世饭桶!)
    [推荐]ORACLESQL: 经典查询练手(不懂装懂,永世饭桶!)——通过知识共享树立个人品牌。  本文与大家共同讨论与分享ORACLESQL的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来。在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出。交流与分享......