返回顶部
首页 > 资讯 > 数据库 >oracle列自增实现
  • 347
分享到

oracle列自增实现

2024-04-02 19:04:59 347人浏览 八月长安
摘要

1.Sequence+Trigger实现oracle列自增CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/MINVALUE n|NOM

1.Sequence+Trigger实现oracle列自增
CREATE SEQUENCE 序列名
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE/MINVALUE n|NOMAXVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}];
创建测试
sys@newtestCDB> CREATE TABLE TEST(
2 ID NUMBER (10) NOT NULL,
3 DESCRIPTioN VARCHAR2 (50) NOT NULL,
4 CONSTRaiNT test_pk PRIMARY KEY (ID)
5 );

Table created.

Elapsed: 00:00:00.14
sys@newtestCDB> CREATE SEQUENCE test_seq;

Sequence created.

Elapsed: 00:00:00.02

Elapsed: 00:00:00.38
sys@newtestCDB> CREATE OR REPLACE TRIGGER test_before_insert
2 BEFORE INSERT ON test
3 FOR EACH ROW
4 BEGIN
5 SELECT test_seq.NEXTVAL INTO :new.id FROM dual;
6 END;
7 /

Trigger created.

Elapsed: 00:00:00.12
sys@newtestCDB> INSERT INTO TEST (DESCRIPTION) VALUES ('不指定ID');

1 row created.

Elapsed: 00:00:00.08
sys@newtestCDB> INSERT INTO TEST (ID, DESCRIPTION) VALUES (TEST_USER.DEPT_SEQ.NEXTVAL, '指定ID');
INSERT INTO TEST (ID, DESCRIPTION) VALUES (TEST_USER.DEPT_SEQ.NEXTVAL, '指定ID')
*
ERROR at line 1:
ORA-02289: sequence does not exist

Elapsed: 00:00:00.01
sys@newtestCDB> INSERT INTO TEST (ID, DESCRIPTION) VALUES (TEST_SEQ.NEXTVAL, '指定ID');

1 row created.

Elapsed: 00:00:00.01
sys@newtestCDB> SELECT * FROM TEST;

    ID DESCRIPTION

     1 不指定ID
     3 指定ID

Elapsed: 00:00:00.03
2.DEFAULT Values Using Sequences
sys@newtestCDB> INSERT INTO TEST (description) VALUES ('DESCRIPTION only');

1 row created.

Elapsed: 00:00:00.01
sys@newtestCDB> INSERT INTO TEST (id, description) VALUES (999, 'ID=999 and DESCRIPTION');

1 row created.

Elapsed: 00:00:00.00
sys@newtestCDB> INSERT INTO TEST (id, description) VALUES (NULL, 'ID=NULL and DESCRIPTION');

1 row created.

Elapsed: 00:00:00.01
sys@newtestCDB> SELECT * FROM test;

    ID DESCRIPTION

     4 DESCRIPTION only
   999 ID=999 and DESCRIPTION
       ID=NULL and DESCRIPTION
Elapsed: 00:00:00.02

sys@newtestCDB> CREATE TABLE TEST(
2 ID NUMBER (10) DEFAULT ON NULL test_seq.NEXTVAL,
3 DESCRIPTION VARCHAR2 (50) NOT NULL
4 );

Table created.

Elapsed: 00:00:00.02
sys@newtestCDB> INSERT INTO TEST (description) VALUES ('DESCRIPTION only');

1 row created.

Elapsed: 00:00:00.01
sys@newtestCDB> INSERT INTO TEST (id, description) VALUES (999, 'ID=999 and DESCRIPTION');

1 row created.

Elapsed: 00:00:00.01
sys@newtestCDB> INSERT INTO TEST (id, description) VALUES (NULL, 'ID=NULL and DESCRIPTION');

1 row created.

Elapsed: 00:00:00.01
sys@newtestCDB> SELECT * FROM test;

    ID DESCRIPTION

     5 DESCRIPTION only
   999 ID=999 and DESCRIPTION
     6 ID=NULL and DESCRIPTION

Elapsed: 00:00:00.02
3.看上一篇里面

您可能感兴趣的文档:

--结束END--

本文标题: oracle列自增实现

本文链接: https://lsjlt.com/news/43464.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • oracle列自增实现
    1.Sequence+Trigger实现Oracle列自增CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/MINVALUE n|NOM...
    99+
    2024-04-02
  • 通过触发器和自增序列实现oracle自增ID
    create sequence seq_tablename        start with 1        increment by 1;  create or replace trigger tri_tablename_i...
    99+
    2019-01-19
    通过触发器和自增序列实现oracle自增ID
  • Oracle12c如何实现自增列
    小编给大家分享一下Oracle12c如何实现自增列,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.Mysql自增列众所周知,m...
    99+
    2024-04-02
  • oracle怎么实现自增
    在 Oracle 数据库中,可以通过使用序列(Sequence)来实现自增功能。首先,我们需要创建一个序列对象,可以使用以下语法:`...
    99+
    2023-09-16
    oracle
  • redis自增序列怎么实现
    Redis自增序列可以通过以下几种方式实现:1、使用INCR命令:使用Redis的INCR命令可以对一个指定的键进行自增操作。比如,...
    99+
    2023-05-23
    redis自增序列 redis
  • mysql实现自增序列的方法
    这篇文章主要为大家展示了“mysql实现自增序列的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql实现自增序列的方法”这篇文章吧。1.创建seque...
    99+
    2024-04-02
  • SQL SERVER中怎么实现自增列
    这期内容当中小编将会给大家带来有关SQL SERVER中怎么实现自增列,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。declare @Table_name varcha&...
    99+
    2024-04-02
  • ADO.NET自动增量列怎么实现
    本篇内容介绍了“ADO.NET自动增量列怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.ADO.NET表达式列ADO.NET还允许...
    99+
    2023-06-17
  • Oracle中如何用序列和触发器实现ID自增
    小编给大家分享一下Oracle中如何用序列和触发器实现ID自增,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!在设计数据库的时候,Oracle中没有类似SQL Server中系统自动分配ID作为...
    99+
    2024-04-02
  • oracle怎么增加一列自增长数据
    在Oracle中,可以通过以下步骤来增加一列自增长数据: 首先,创建一个序列对象(sequence)来生成自增长的值。序列对象可以...
    99+
    2024-04-15
    oracle
  • oracle如何创建自增序列
    在Oracle数据库中,可以通过使用SEQUENCE对象来创建自增序列。以下是创建自增序列的步骤: 使用以下语法创建一个新的序列:...
    99+
    2024-04-09
    oracle
  • oracle怎么创建自增序列
    在Oracle数据库中,可以通过以下方式创建自增序列: 使用CREATE SEQUENCE语句创建序列,并指定其起始值、增量、最小...
    99+
    2024-04-09
    oracle
  • oracle怎么生成自增序列
    Oracle可以通过使用序列(Sequence)来生成自增的数字。序列是一个对象,它可以生成唯一的数字值。可以通过以下步骤来创建和使...
    99+
    2024-04-09
    oracle
  • oracle自增序列怎么创建
    oracle 自增序列用于生成唯一递增数字,用于创建主键或递增编号字段。创建步骤:打开 oracle sql 窗口。使用 create sequence 语法创建序列,指定序列名、起始值...
    99+
    2024-05-21
    oracle
  • oracle怎么设置自增序列
    oracle 自增序列用于生成唯一递增的数字,以标识数据库记录。设置步骤如下:创建序列:create sequence sequence_name start with start_va...
    99+
    2024-05-21
    oracle
  • oracle怎么查找自增序列
    在Oracle数据库中,要查找自增序列,可以使用以下SQL语句: SELECT sequence_name FROM all...
    99+
    2024-05-13
    oracle
  • mysql自增列
    1、mysql创建带自增列的表 create table inc(id int(10) not null auto_increment,name varchar(20),primary key (...
    99+
    2024-04-02
  • oracle怎么实现表的id自增
    Oracle中实现表的ID自增通常使用序列(Sequence)和触发器(Trigger)结合的方式来实现。下面是具体的步骤: 创建...
    99+
    2024-04-09
    oracle
  • oracle如何创建自增序列表
    在Oracle中,可以使用序列(Sequence)来创建自增序列。序列是一个独立的对象,用于生成唯一的、递增的数字。以下是使用序列创...
    99+
    2023-09-23
    oracle
  • mysql实现自增序列的示例代码
    创建sequence表 CREATE TABLE `sequence` ( `name` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '序列的名字',...
    99+
    2022-05-28
    mysql 自增序列
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作