oracle没有mysql那样可以有自增主键,需要自己通过创建序列才能实现自增

/*创建自增序列*/
CREATE SEQUENCE CMB_CHINA_CITYS_ID
MINVALUE 1 --最小值
NOMAXVALUE --不设置最大值
START WITH 1 --从1开始计数
INCREMENT BY 1 --每次加1
NOCYCLE --一直累加,不循环
NOCACHE; --不建缓冲区

说明:

CMB_CHINA_CITYS_ID:序列名称

插入语句的时候就可以使用CMB_CHINA_CITYS_ID.nextval,方式来获取序列

上面的只是自动创建ID,插入数据的时候得手动调用,如果想方便一点,我们还可以加入一个触发器,当程序插入数据之前触发

CREATE OR REPLACE TRIGGER TRIGGER_TABLE_AUTO_INCREA_ID
BEFORE INSERT ON TABLE_NAME
FOR EACH ROW
DECLARE
BEGIN
SELECT TABLE_NAME.NEXTVAL INTO :NEW.ID FROM DUAL;
END TRIGGER_TABLE_AUTO_INCREA_ID;

说明:

TRIGGER_TABLE_AUTO_INCREA_ID:触发器名称

TABLE_NAME:表名

Oracle设置主键自增的更多相关文章

  1. 关于oracle设置主键自增的问题

    关于orcale设置主键自增的问题 关于主键Oracle中并没有提供一个直接的语句设置,对于这个oralce一般都是用序列和触发器来实现 一下又两种方法来实现 一 ,不使用触发器 创建序列: crea ...

  2. 在Oracle中设置主键自增

    转自:https://www.2cto.com/database/201705/636725.html 数据库设置主键自增">oracle数据库设置主键自增: --创建表 create ...

  3. oracle中主键自增

    oracle中主键自增 下面用一个例子来说明自增主键的创建: 1.建用户数据表 drop table dectuser; create table dectuser( userid integer p ...

  4. Oracle 设置主键自增长__Oracle

    转自:https://yq.aliyun.com/ziliao/258074 如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的 ...

  5. 使用powerdesigner建模时设置主键自增的问题

    研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 ide ...

  6. Oracle 设置主键自增长

    如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的常用功能,我们还是有办法实现的.这里将展示使用触发器来实现主键自增. 1.准备 ...

  7. 使用navicat操作PostPreSql创建表并设置主键自增和触发器

    使用navicat操作PostPreSql创建表并设置主键自增和触发器 1).创建递增序列 2).创建表,使用序列,设置主键递增 3)定义触发函数 自动生成时间戳函数 CREATE OR REPLAC ...

  8. Oracle 创建表并设置主键自增

    创建数据库 CREATE TABLE STUDENT(ID NUMBER PRIMARY KEY, NAME VARCHAR(200) NOT NULL, SEX VARCHAR(200), CREA ...

  9. PL/SQL设置主键自增

    oracle没有设置主键auto increment的功能,需要自己编写序列和触发器实现主键自动递增. 示例: 创建表menu:   一.创建表 create table menu( menuId n ...

随机推荐

  1. REST风格框架实战:从MVC到前后端分离(附完整Demo)

    既然MVC模式这么好,难道它就没有不足的地方吗?我认为MVC至少有以下三点不足:(1)每次请求必须经过“控制器->模型->视图”这个流程,用户才能看到最终的展现的界面,这个过程似乎有些复杂 ...

  2. 微机原理基础(五)—— MSP430

    一.MSP430组成 1.结构简图 2.具体组成框图

  3. 简化异常处理的Throwables类

    简化异常处理的Throwables类 有时候, 当我们我们捕获异常, 并且像把这个异常传递到下一个try/catch块中.Guava提供了一个异常处理工具类, 可以简单地捕获和重新抛出多个异常.例如: ...

  4. go语言nsq源码解读二 nsqlookupd、nsqd与nsqadmin

    nsqlookupd: 官方文档解释见:http://bitly.github.io/nsq/components/nsqlookupd.html 用官方话来讲是:nsqlookupd管理拓扑信息,客 ...

  5. [Usaco2005 dec]Layout 排队布局 差分约束

    填坑- 差分约束一般是搞一个不等式组,求xn-x1的最大最小值什么的,求最大值就转化成xa<=xb+w这样的,然后建图跑最短路(这才是最终约束的),举个例子 x1<=x0+2x2<= ...

  6. bzoj 2821 作诗 分块

    基本思路和蒲公英一样 还是预处理出每两个块间的答案 询问时暴力跑两边的贡献 #include<cstdio> #include<cstring> #include<ios ...

  7. BZOJ_3944_Sum_杜教筛

    BZOJ_3944_Sum_杜教筛 Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每 ...

  8. 【爆料】-《堪培拉大学毕业证书》Canberra一模一样原件

    ☞堪培拉大学毕业证书[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...

  9. MySQL--各版本DDL 操作总结

    MySQL 5.5 DDL 在MySQL 5.5版本前,所有DDL操作都使用Copy Table的方式完成,操作过程中原表数据库不允许写入,只能读取,在MySQL 5.5版本中引入FIC(Fast i ...

  10. MYSQL——解题查询语句答题思路,再难的查询都不怕!

    select查询语句,作为测试人员,使用此语句是家常便饭,是必须掌握的部分,由开始学习mysql到网上搜索试题做,开始做题一塌糊涂,拿到题目就晕,无从下手,现在慢慢总结了一套自己做题的方式,很开森,嘿 ...