zoukankan      html  css  js  c++  java
  • oracle中如何指定表字段自增

    背景介绍:

    SQL SERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作。MySql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。

    --学校表

    create table school(sid number(4),sname varchar2(400 char), check_status number(1) default 0 check( check_status in(0,1)),accountant varchar2(20 char),pwd varchar2(20 char),email varchar2(30 char),photo_path  varchar2(800 char),
    constraint pk_t_school primary key(sid));


    -- 序列   (序列与触发器实现school表中sid字段的自动增长)
    create sequence shool_sid_autoinc
    minvalue 1
    maxvalue 9999999999999999999999999999
    start with 1
    increment by 1
    nocache;


    --触发器  (序列与触发器实现school表中sid字段的自动增长)
    create or replace trigger insert_shool_sid_autoinc
    before insert on school
    for each row
    begin
    select shool_sid_autoinc.nextval into :new.sid from dual;

    end;

    /

    --  测试结果

    SQL> insert into school values(100,'a',0,001,001,'964955634@qq.com',66666);


    1 row created.


    SQL> insert into school values(100,'aaaaaaaaaaaaaaaaaaaaa',0,001,001,'964955634@qq.com',66666);
    1 row created.


    SQL> select sid from school;


           SID
    ----------
    1
    2

    Ok,结束。 转载请标明出处

  • 相关阅读:
    HTTP下载文件校验失败原因分析与解决
    读《软件测试的艺术》
    CXF wsdl2java 错误
    oracle 存储过程 多参数 多返回值
    ORACLE 函数 调用
    typescript学习入门(学习笔记)
    js常用方法总结
    jenkins安装及项目构建发布回滚
    Centos8中创建LVM精简逻辑卷
    k8s kubectl命令自动补全
  • 原文地址:https://www.cnblogs.com/andy6/p/6204039.html
Copyright © 2011-2022 走看看