大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no

我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列

create table t 
(
  id        number generated by default as identity (start with 1 increment by 1),
  name      varchar2(20),
  password  varchar2(20),
  Constraint Pk_T Primary Key ( Id )
);

很忧桑的是同伴用的是11g的,那只能通过序列+触发器来实现了;

创建表

-create table t 
(
  id        number,
  name      varchar2(20),
  password  varchar2(20),
  Constraint Pk_T Primary Key ( Id )
);

CREATE SEQUENCE seq_t----------------/*序列名称*/
INCREMENT BY 1 ----------------/*自增1*/
START WITH 1 ----------------/*从1开始*/
NOMAXVALUE ----------------/*没有最大值*/
NOCYCLE
NOCACHE;
CREATE TRIGGER tri_t  BEFORE------------------/*创建触发器*/
INSERT ON t  FOR EACH ROW WHEN (new.id is null)
begin
select seq_t.nextval into: new.id from dual;
end;

ORACLE里的自增字段设置的更多相关文章

  1. 关于在iBatis中配置Oracle以及MySQL 自增字段

    <insert id="insertPerson" parameterClass="person"> <!-- MySQL数据库自增字段的控制 ...

  2. Oracle中创建自增字段方法

    oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: .创建一个表 ) prim ...

  3. oracle如何实现自增?----用序列sequence的方法来实现

    将表t_user的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create  table  t_user( Id number(6),userid varchar2(2 ...

  4. Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    引用自 :http://www.2cto.com/database/201307/224836.html   Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍 先假设有这么一个表 ...

  5. oracle 主键自增 设置----杜恩德

    <div id="topicList"> <div class="forFlow"> <div class = "pos ...

  6. ArcGIS自定义工具箱-自增字段(可以设置初始值和步长)

    ArcGIS自定义工具箱-自增字段(可以设置初始值和步长) 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:字段值初始值为设定值(默认为0),每次增加一个步长( ...

  7. oracle数据库,怎么给已有数据的表添加自增字段

    场景:数据仓库,ODI为使用Oracle Incremental Update IKM,需要对一事实表增加主键. 思想:基于老表创建新表,添加自增字段(序列+触发器实现),把老数据导入新表,删除老表, ...

  8. ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null

    ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null,解决方法:判断什么null都可以用is null.

  9. powerdesigner设置主键为自增字段,设置非主键为唯一键并作为表的外键

    转自:https://www.cnblogs.com/CoffeeHome/archive/2014/06/04/3767501.html 这里powerdesigner连接的数据库是以mysql为例 ...

随机推荐

  1. Android调试时, "adb devices"命令提示 adb server is out of date. killing...

    C:\Users\xxxx>adb devicesadb server is out of date. killing... 查看端口, 发现被占用 C:\Users\xxxx>adb n ...

  2. LR使用

    1.协议的选择 Loadrunner的协议选择众多,想正确的选择脚本协议,首先要从Loadrunner的工作原理上深入的理解协议的作用和意义, Loadrunner启动后,在任务栏上有一个loadru ...

  3. python 零散记录(七)(上) 面向对象 类 类的私有化

    python面向对象的三大特性: 多态,封装,继承 多态: 在不知道对象到底是什么类型.又想对其做一些操作时,就会用到多态 如 'abc'.count('a') #对字符串使用count函数返回a的数 ...

  4. win7常用键

    (1)xp和win7中都可以使用Alt+Tab中进行标签切换,win7中添加了Wins+Tab可以进行3D标签切换. (2)你知道怎样一次过调整显示器亮度.音量大小,打开无线网,还能够看到本本电池电量 ...

  5. linux ant 解决 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.Launcher

    在使用ant进行java程序编译的时候出错.错误提示: Error: Could not find or load main class org.apache.tools.ant.launch.Lau ...

  6. Application使用示例

    MainActivity如下: package cn.testapplication; import android.os.Bundle; import android.view.View; impo ...

  7. 关于css命名规范

    1 newsHeader-logo,第一个单词小写,第二个单词大写,第三个单词加-

  8. String+,StringBuilder,String.format运行效率比较

    实现String字符串相加的方法有很多,常见的有直接相加,StringBuilder.append和String.format,这三者的运行效率是有差异的,String是final类型的,每次相加都会 ...

  9. Ajax提交打开新窗口,浏览器拦截处理

    //主要是添加同步处理 $.ajax({ url: "ashx/OrderHander.ashx?action=CheckRepeat", data: { "OrderI ...

  10. 理解CSS中的三种选择器>+~

    1. p~ul p和ul有相同的父元素,选择出p元素之后的所有ul元素,其中,p和ul不一定是紧随,但是必须有相同的父元素 E+F            相邻兄弟选择器.选择匹配F的元素,且该元素位于 ...