`
riyunzhu
  • 浏览: 28734 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

oracle中如何建立字段自增长

 
阅读更多

oracle中建立字段自增长相对于sql server和mysql还是有点小复杂的,这不为了在oracle中建立字段自增长花了我一天的时间,由于不知道如何建立所以百度,但是百度出来之后复制代码,在其创建触发器的时候老出错啊。直到今天由于偶然的原因才发现错误所在,同时也让我深刻明白:网上那些转来转来的人们啊,建议在转别人的东西之前最好是自己能检验一下啊,不然真坑爹啊!下面开始:

--创建表
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25),
PHONE VARCHAR(10),
ADDRESS VARCHAR(50));

--创建序列
CREATE SEQUENCE exam_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区

--创建触发器
CREATE OR REPLACE TRIGGER exam_trg BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)
begin
select emp_sequence.nextval into :new.id from dual;--请注意这里的冒号跟new之间是没有空格的,我从网上复制过来的就是因为中间多了一个空格啊!坑爹啊
end;

--插入数据
INSERT INTO example(Name,phone,address) Values('Riyun','56498543','zhejiang');


好了,至此在oracle中建立字段自增长已经完毕!

补充oracle中“:”的含义:

:就是个指针,就像c语言中的指针一样
:new 代表 数据改变后的新值,相对应的有 :old  原值
:=   代表 赋值

分享到:
评论

相关推荐

    oracle触发器实现主键自动增长

    oracle触发器实现主键自动增长操作

    oracle字段自增长

    完成Java编程过程中数据存储序号自增长。

    oracle设置主键自动增长

    oracle设置主键自动增长 首先,你要有一张表! 然后,你需要一个自定义的sequence  以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle...

    oracle 创建字段自增长实现方式

    mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能。  因为两种方式都需要通过创建序列来实现,这里先给出序列的创建方式。 ...

    实现oracle数据库字段自增长(两种方式)

    主要通过两种方式实现oracle数据库字段自增长,第一种方式是序列+触发器,第二种方式序列+显示调用序列,需要的朋友可以参考下

    两种oracle创建字段自增长的实现方式

    介绍了两种oracle创建字段自增长的实现方式,一是序列+触发器,二是序列+显示调用序列,需要的朋友可以参考下

    Oracle使用序列创建自增字段

    Oracle使用序列创建自增字段,自增长列。

    对有自增长字段的表导入数据注意事项

    您可能感兴趣的文章:SQL Server设置主键自增长列(使用sql语句实现)oracle中的ID号实现自增长的方法mysql修改自增长主键int类型为char类型示例自增长键列统计信息的处理方法实现oracle数据库字段自增长(两种方式)

    oracle 实际值超过数据库某个字段指定长度报错解决

    常见的场景是oracle sequence自动增长,系统用到一定的时候,sequence的值不断的增大,系统开始报错。 解决方法:更改字段的长度解决 您可能感兴趣的文章:Oracle+Mybatis的foreach insert批量插入报错的快速解决...

    oracle数据库id为uuid类型时自动生成id

    oracle数据库id为uuid类型时自动生成id的工具类,不再依赖sequence自增长

    ORACLE分区

    禁止undo tablespace自动增长 alter database datafile 'full_path\undotbs01.dbf' autoextend off; 2.-- 创建一个新的小空间的undo tablespace create undo tablespace undotBS2 datafile 'full_path\UNDOTBS02....

    ORACLE实现字段自增示例说明

    下面用一个例子来说明如何实现oracle中字段的自增。 首先,创建一个表格SuperAmin 代码如下: create table SuperAdmin( ID number(11) primary key, Name varchar(11) not null unique, Password varchar(11) not ...

    Oracle 和 mysql的9点区别

    1.组函数用法规则 mysql中组函数在select语句中...ORACLE没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。CREATE SEQUENCE序列号的名称(最好是表名+序列号标记)I

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    MySQL转换Oracle的需要注意的七个事项

    Oracle没有自动增长的数据类型,需要建立一个自动增长的序列号,插入记录时要把序列号的下一个值赋于此字段。 CREATE SEQUENCE 序列号的名称 (最好是表名 序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 ...

    Oracle与MySQL的几点区别

    Oracle数据库与MySQL数据库的区别是本文我们主要介绍的内容,希望能够对您有所帮助。  1.组函数用法规则  mysql中组函数在select语句中可以随意使用,但在oracle中如果...ORACLE没有自动增长的数据类型,需要建立一

    ORACLE9i_优化设计与系统调整

    §9.10 Oracle数据库增长的规划 111 §9.10.1 不同增长表的配置 111 §9.10.2 对增长表进行规划和分析 112 第10章 数据库结构设计要点 113 §10.1 分析阶段的对表的理解 113 §10.2 正确的主键字段的选择 113 §10.3...

Global site tag (gtag.js) - Google Analytics