在 sqlplus 中添加复合/外键
add composite/ foreign key in sqlplus
关于 SQL 中的键,我有一个非常基本的问题。我正在尝试编写一个 SQL 语句,以便我可以将外键添加到我的 table 中,但是,它总是“table 未找到或丢失”。我无法创建 table 的原因是下一个 table 也有来自另一个 table 的外键,我需要引用它。有解决办法吗?
create table table_name (id char (3) primary key, name varchar (8));
SQL > table created.
create table table_name_2 (table2ID char (3) primary key, CID char (3),
name varchar (8), title varchar (8), foreign key (CID) references table_name_3);
SQL > missing table (table_name_3);
create table table_name_3 (CID char (3) primary key, tTitle varchar (8),
foreign key (phone) references table_name_4);
所以我只能创建 table 3. 我需要做什么才能创建 table 并在编写 [=19= 时添加外键引用] 声明?
我不允许使用 ALTER table。
使用 ALTER TABLE 语句单独 创建外键。像这样:
SQL> CREATE TABLE table_name(
2 id CHAR(3)PRIMARY KEY,
3 name VARCHAR(8)
4 );
Table created.
SQL> CREATE TABLE table_name_2(
2 table2id CHAR(3)PRIMARY KEY,
3 cid CHAR(3),
4 name VARCHAR(8),
5 title VARCHAR(8)
6 );
Table created.
SQL> CREATE TABLE table_name_3(
2 cid CHAR(3)PRIMARY KEY,
3 ttitle VARCHAR(8)
4 );
Table created.
现在外键:
SQL> ALTER TABLE table_name_2 ADD CONSTRAINT fk_2_3 FOREIGN KEY(cid)
2 REFERENCES table_name_3;
Table altered.
SQL>
您可以采用的一种方法是使用主键创建 table,然后执行
并添加外键。
改变 TABLE child_table
添加约束 fk_name
外键 (col1) 引用 parent_table(col1);
关于 SQL 中的键,我有一个非常基本的问题。我正在尝试编写一个 SQL 语句,以便我可以将外键添加到我的 table 中,但是,它总是“table 未找到或丢失”。我无法创建 table 的原因是下一个 table 也有来自另一个 table 的外键,我需要引用它。有解决办法吗?
create table table_name (id char (3) primary key, name varchar (8));
SQL > table created.
create table table_name_2 (table2ID char (3) primary key, CID char (3),
name varchar (8), title varchar (8), foreign key (CID) references table_name_3);
SQL > missing table (table_name_3);
create table table_name_3 (CID char (3) primary key, tTitle varchar (8),
foreign key (phone) references table_name_4);
所以我只能创建 table 3. 我需要做什么才能创建 table 并在编写 [=19= 时添加外键引用] 声明?
我不允许使用 ALTER table。
使用 ALTER TABLE 语句单独 创建外键。像这样:
SQL> CREATE TABLE table_name(
2 id CHAR(3)PRIMARY KEY,
3 name VARCHAR(8)
4 );
Table created.
SQL> CREATE TABLE table_name_2(
2 table2id CHAR(3)PRIMARY KEY,
3 cid CHAR(3),
4 name VARCHAR(8),
5 title VARCHAR(8)
6 );
Table created.
SQL> CREATE TABLE table_name_3(
2 cid CHAR(3)PRIMARY KEY,
3 ttitle VARCHAR(8)
4 );
Table created.
现在外键:
SQL> ALTER TABLE table_name_2 ADD CONSTRAINT fk_2_3 FOREIGN KEY(cid)
2 REFERENCES table_name_3;
Table altered.
SQL>
您可以采用的一种方法是使用主键创建 table,然后执行 并添加外键。
改变 TABLE child_table
添加约束 fk_name
外键 (col1) 引用 parent_table(col1);