如何在 child table ORACLE SQL 中分配两个外键?
How to assign two foreign keys in child table ORACLE SQL?
如何在 ORACLE SQL 中继承两个(或更多)父 类?我试过这样的事情:
ID(13),
OTHER_ID(9),
CONSTRAINT FK_ID FOREIGN
KEY(ID) REFERENCES TABLE_ONE(ID),
CONSTRAINT FK_OTHER_GROUP FOREIGN
KEY(OTHER_ID) REFERENCES TABLE_TWO(OTHER_ID)
我已阅读文档,找到的代码是:
INDEX (product_category, product_id),
INDEX (customer_id),
FOREIGN KEY (product_category, product_id)
REFERENCES product(category, id)
ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (customer_id)
REFERENCES customer(id)
它不太适合我。有什么特殊的方法来定义这些索引吗?我以前没见过他们。第一个示例存在未指定数据类型的问题。但我希望有人向我解释我如何以第二种(oracle 文档)方式进行操作。
我是这样理解问题的:
- 有两个table,每个都有主键约束
- 在我的示例中,它们是
t_emp
和 t_dept
- 还有第三个 table 其列应该引用前两个 table 的主键
- 那些是
fk_th_emp
和fk_th_dep
外键约束
如果是这样,请按以下步骤操作:
SQL> create table t_emp
2 (empno number constraint pk_temp primary key,
3 ename varchar2(20)
4 );
Table created.
SQL> create table t_dept
2 (deptno number constraint pk_dept primary key,
3 dname varchar2(20)
4 );
Table created.
SQL> create table third
2 (id number constraint pk_third primary key,
3 other_id number,
4 --
5 constraint fk_th_emp foreign key (id) references t_emp (empno),
6 constraint fk_th_dep foreign key (other_id) references t_dept (deptno)
7 );
Table created.
SQL>
如何在 ORACLE SQL 中继承两个(或更多)父 类?我试过这样的事情:
ID(13),
OTHER_ID(9),
CONSTRAINT FK_ID FOREIGN
KEY(ID) REFERENCES TABLE_ONE(ID),
CONSTRAINT FK_OTHER_GROUP FOREIGN
KEY(OTHER_ID) REFERENCES TABLE_TWO(OTHER_ID)
我已阅读文档,找到的代码是:
INDEX (product_category, product_id),
INDEX (customer_id),
FOREIGN KEY (product_category, product_id)
REFERENCES product(category, id)
ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (customer_id)
REFERENCES customer(id)
它不太适合我。有什么特殊的方法来定义这些索引吗?我以前没见过他们。第一个示例存在未指定数据类型的问题。但我希望有人向我解释我如何以第二种(oracle 文档)方式进行操作。
我是这样理解问题的:
- 有两个table,每个都有主键约束
- 在我的示例中,它们是
t_emp
和t_dept
- 在我的示例中,它们是
- 还有第三个 table 其列应该引用前两个 table 的主键
- 那些是
fk_th_emp
和fk_th_dep
外键约束
- 那些是
如果是这样,请按以下步骤操作:
SQL> create table t_emp
2 (empno number constraint pk_temp primary key,
3 ename varchar2(20)
4 );
Table created.
SQL> create table t_dept
2 (deptno number constraint pk_dept primary key,
3 dname varchar2(20)
4 );
Table created.
SQL> create table third
2 (id number constraint pk_third primary key,
3 other_id number,
4 --
5 constraint fk_th_emp foreign key (id) references t_emp (empno),
6 constraint fk_th_dep foreign key (other_id) references t_dept (deptno)
7 );
Table created.
SQL>