如何在plSQL中将序列添加到主键
how to add sequence to primary key in plSQL
我正在使用 pl sql 开发人员 12.what 我想要的是使用 oracle 12' windows 和表单添加主键顺序,而不是通过脚本。我不知道怎么办?
另外,我如何在 2 tables(用户,角色)之间建立一对一关系,在用户 table 中我添加了 role_id 作为外键;但这种关系似乎是一对多的!!!
在 Oracle 12c 及更高版本中,您将该列定义为 identity
列:
CREATE TABLE mytable (
id NUMBER GENERATED ALWAYS AS IDENTITY,
-- other columns ...
);
@Mureinik 已经说过,在 Oracle 12 及更高版本中,您可以将主键列定义为 NUMBER GENERATED ALWAYS AS IDENTITY
以获得唯一的顺序值。
要在数据库中强制建立一对一关系,您需要将 ROLE_ID
列定义为一个 table 上的主键,并且定义为 UNIQUE 或 PRIMARY第二个 table 上的键与 table 之间的外键关系。换句话说:
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的外键。
祝你好运。
我最后所做的是我下载了 sql developer 64 w,并从中下载;我连接到数据库然后我使列顺序
我正在使用 pl sql 开发人员 12.what 我想要的是使用 oracle 12' windows 和表单添加主键顺序,而不是通过脚本。我不知道怎么办? 另外,我如何在 2 tables(用户,角色)之间建立一对一关系,在用户 table 中我添加了 role_id 作为外键;但这种关系似乎是一对多的!!!
在 Oracle 12c 及更高版本中,您将该列定义为 identity
列:
CREATE TABLE mytable (
id NUMBER GENERATED ALWAYS AS IDENTITY,
-- other columns ...
);
@Mureinik 已经说过,在 Oracle 12 及更高版本中,您可以将主键列定义为 NUMBER GENERATED ALWAYS AS IDENTITY
以获得唯一的顺序值。
要在数据库中强制建立一对一关系,您需要将 ROLE_ID
列定义为一个 table 上的主键,并且定义为 UNIQUE 或 PRIMARY第二个 table 上的键与 table 之间的外键关系。换句话说:
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的外键。
祝你好运。
我最后所做的是我下载了 sql developer 64 w,并从中下载;我连接到数据库然后我使列顺序