我正在使用pl sql developer12。我想要的是使用oracle 12'的窗口和表单(而不是通过脚本编写)添加使主键顺序添加。我不知道怎么办? aslo,我该如何在2个表(用户,角色)之间建立一对一的关系,在用户表中我添加了role_id作为外键;但是这种关系似乎是一对多的!!
答案 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,并从中下载了它。我连接到数据库,然后将列设置为顺序