如何在plSQL中向主键添加序列

时间:2019-02-26 17:29:29

标签: oracle plsqldeveloper

我正在使用pl sql developer12。我想要的是使用oracle 12'的窗口和表单(而不是通过脚本编写)添加使主键顺序添加。我不知道怎么办?  aslo,我该如何在2个表(用户,角色)之间建立一对一的关系,在用户表中我添加了role_id作为外键;但是这种关系似乎是一对多的!!

3 个答案:

答案 0 :(得分:0)

在Oracle 12c及更高版本中,您将该列定义为identity列:

CREATE TABLE mytable (
  id          NUMBER GENERATED ALWAYS AS IDENTITY,
  -- other columns ... 
);

答案 1 :(得分:0)

@Mureinik已经说过,在Oracle 12和更高版本中,您可以将主键列定义为NUMBER GENERATED ALWAYS AS IDENTITY,以获得唯一的顺序值。

要在数据库中实施一对一关系,您希望将ROLE_ID列定义为一个表的主键,并定义为第二个表的UNIQUE或PRIMARY键,与表之间的外键关系。换句话说:

CREATE TABLE T1 (ROLE_ID  NUMBER
                   CONSTRAINT PK_T1
                     PRIMARY KEY
                 ...);

CREATE TABLE T2 (ID_T2    NUMBER
                   PRIMARY KEY,
                 ROLE_ID  NUMBER
                   CONSTRAINT T2_U1
                     UNIQUE
                   CONSTRAINT T2_FK1
                     REFERENCES T1(ROLE_ID)
                       ON DELETE CASCADE,
                 ...);

以上ROLE_ID将成为T1上的主键,T2和T2上的唯一键。ROLE_ID将成为T1的外键。

好运。

答案 2 :(得分:0)

我最后要做的是我从中下载了sql developer 64 w,并从中下载了它。我连接到数据库,然后将列设置为顺序