`

oracle 自增列

阅读更多

由于Oracle不像SQL Server 那样系统自带自增列,所以如果需要使用自增列或者把SQL Server中的数据导入时,就需要自己创建自增列

Oracle的自创自增类由序列(sequence)和触发器(trigger)共同完成,所以需要创建一个序列和触发器

/*创建自增列(由序列和触发器共同完成)*/

/*创建序列*/
create sequence s_id increment by 1 start with 1 nomaxvalue nocycle;
/*创建触发器*/
create or replace trigger myTrigger
before insert on myTable
referencing old as old_value new as new_value
for each row
begin
new_value.userid= s_id.nextval;
end;

cata0是表名,cata0_id是需要自增的字段!
CREATE SEQUENCE SEQ_cata0
INCREMENT BY 1
START WITH 1
MAXVALUE 9999999
\
CREATE TRIGGER TRG_cata0 BEFORE
INSERT ON cata0
FOR EACH ROW begin
SELECT SEQ_cata0.NEXTVAL
INTO :NEW.cata0_ID
FROM DUAL;
End TRG_cata0;

new.cata0_ID在insert触发器中表示的是新增加的cata0_ID的值,new表示新增加的一行数据,如果是针对的是update的触发器还有old, old表示的是更新前的一行数据,new表示的是更新后的一行数据,old.cata0_ID表示更新前cata0_ID的值,new.cata0_ID表示更新后cata0_ID的值。

分享到:
评论

相关推荐

    oracle创建自增列.txt

    oracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txt

    oracle如何设置自增列和建触发器

    在网上找的资料,oracle建表以后如何建自增序列和触发器。觉得比较实用,分享出来

    Oracle自增字段的实际应用

    Oracle自增字段的实际应用,对比各种数据库自增字段的应用!

    Navicat Premium中Oracle创建主键自增的方法

    到此这篇关于Navicat Premium中Oracle创建主键自增的方法的文章就介绍到这了,更多相关Navicat Premium主键自增内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!

    oracle设定自增长列

    在oracle数据库设置自增长列,使用触发器。

    Oracle使用序列创建自增字段

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

    Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例

    答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(trigger)和序列(sequence)来模式实现。 示例: 1、建立表 代码如下:create table user  (   id number(6) not null,   name varchar2(30) not ...

    Oracle与Mysql自动增长列(id)的区别

    主要介绍了Oracle与Mysql自动增长列(id)的区别,需要的朋友可以参考下

    【总结】数据库自增字段的 3 种实现方式

    我们今天的主题就是自增字段的实现,下表列出了主流数据库中创建自增字段的几种方法: 自增字段实现方式 MySQL Oracle SQL Server PostgreSQL SQLite 标识列(IDENTITY) — :check_mark: :check_mark: :...

    Oracle 实现类似SQL Server中自增字段的一个办法

    由于Oracle中没有类似SQL Server中的自增字段,所以我们如果想要通过设定类似ID性质的唯一列的话,需要借助Oracle的sequence,先建立一个序列,然后在每次插入数据的时候,通过前触发器来更新ID值,并将序列的序号加...

    Sqlserver、Oracle、MySql、PostgreSql、SqlLite数据库差异

    Sqlserver、Oracle、MySql、PostgreSql、SqlLite常用数据库的对比 1、分页 2、时间函数 3、自增列 4、表名规范 5、字符串连接 6、变量定义 7、其它

    oracle设置主键自动增长

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

    如何在Hive、MySQL、Oracle中分别添加自增序号

    最近公司业务涉及到了在相应库中添加自增序号这种操作,闲暇之余,整理如下,仅供参考~ 一、Hive  1、首先在Hive中建立一个测试表 create table xzw(id int, name string) clustered by (id) into 2 buckets ...

    关于mysql自增id,你需要知道的

    1.MySQL为什么建议将自增列id设为主键? 如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样...

    创建序列触发器

    oracle的自增,创建序列,创建触发器

    功能超强大完整博客源代码(ASP.NET2.0+Access or SQL Server)

    但是在默认情况下,我使用了ACCESS作为默认配置,这样几乎在任何一台支持ASP.NET2.0的主机上都可以使用,如果您需要使用其他数据库的话,请将ACCESS数据库导过去,并设置好主键、索引、自增列(所有表的ID字段)基本...

    DBCHM v1.6

    DBCHM支持SqlServer/MySql/Oracle/PostgreSQL等数据库的表列批注维护管理。 DBCHM主要功能 表,列的批注可以编辑保存到数据库。 表,列的批注支持通过pdm文件导入的方式进行更新到数据库。 基于数据库中的表列结构...

Global site tag (gtag.js) - Google Analytics