`
riyunzhu
  • 浏览: 28913 次
  • 性别: 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与SQLServer的SQL语法差异总结1

    Oracle 中有序列 sequence 对象,无自动增长列,而 SQL Server 中无序列对象,表中有自动增长列。 Select 语法 Oracle 中的 Select 语法可以将结果集作为表使用,而 SQL Server 中的 Select 语法也可以将结果集...

    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没有自动增长的数据类型,需要建立一

Global site tag (gtag.js) - Google Analytics