oracle创建一个列有主外键约束的表
时间: 2023-12-20 12:06:25 浏览: 28
可以按照以下步骤创建一个具有主外键约束的表:
1. 创建主表
首先,创建主表并定义主键:
```
CREATE TABLE main_table (
main_id NUMBER PRIMARY KEY,
main_name VARCHAR2(50)
);
```
2. 创建从表
然后,创建从表并定义外键:
```
CREATE TABLE sub_table (
sub_id NUMBER PRIMARY KEY,
sub_name VARCHAR2(50),
main_id NUMBER,
CONSTRAINT sub_table_fk
FOREIGN KEY (main_id)
REFERENCES main_table(main_id)
);
```
在上面的示例中,我们定义了一个名为sub_table_fk的外键约束,它将sub_table表的main_id列与main_table表的main_id列关联起来。
3. 插入数据
最后,您可以插入数据并验证主外键约束是否正常工作:
```
INSERT INTO main_table VALUES (1, 'Main 1');
INSERT INTO main_table VALUES (2, 'Main 2');
INSERT INTO sub_table VALUES (1, 'Sub 1', 1);
INSERT INTO sub_table VALUES (2, 'Sub 2', 2);
INSERT INTO sub_table VALUES (3, 'Sub 3', 3); --此行将失败,因为主键不存在
```
在上面的示例中,我们尝试向sub_table表中插入一个main_id值为3的行,但是由于此值不存在于main_table表中,因此将出现错误。这证明了主外键约束已经工作。