【问题标题】:DBeaver - Auto increment ID field in Oracle 12cDBeaver - Oracle 12c 中的自动增量 ID 字段
【发布时间】:2020-08-22 05:00:03
【问题描述】:

我是使用 DBeaver 和 Oracle 的新手,我正在尝试创建一个自动递增 PK 字段。我一直在研究,找不到任何关于它的信息。

【问题讨论】:

    标签: database oracle dbeaver


    【解决方案1】:

    在 12c 中,您有多种选择

    身份列

    SQL> create table t ( id number generated always as identity ( start with 1 increment by 1 ) primary key, c2 number ) ;
    
    Table created.
    
    SQL> insert into t ( c2 ) values ( 1 ) ;
    
    1 row created.
    
    SQL> select * from t ;
    
            ID         C2
    ---------- ----------
             1          1
    
    SQL>
    

    有关身份列的不同选项,请参阅此链接

    Identity Columns

    序列

    SQL> create sequence t_sq start with 1 increment by 1 ;
    
    Sequence created.
    
    SQL> create table t ( id number default t_sq.nextval primary key, c2 number ) ;
    
    Table created.
    
    SQL> insert into t ( c2 ) values ( 1 ) ;
    
    1 row created.
    
    SQL> select * from t ;
    
            ID         C2
    ---------- ----------
             1          1
    

    正如您在上面看到的,您可以选择使用 IDENTITY 列,也可以创建一个序列并将序列的 nextval 作为默认值分配给该列。

    无论哪种情况,您都有一个自动增量 id 作为主键。

    【讨论】:

    • 谢谢。我会试一试,但我假设这意味着您无法通过 GUI?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 2012-04-01
    相关资源
    最近更新 更多