Oracle--约束

**约束条件:**

 

FOREIGN KEY:在子表中定义一个级表约束
REFERENCES:指定表和父表中的列
ON DELETE CASCADE:当删除父表时,级联删除子表纪录
ON DELETE SET NULL:将子表的相关依赖纪录外键置为 null


复制代码
create table teacher
(
    sid number constraint teacher_sid_pk primary key,
    sname varchar2(20) constraint teacher_sname_notnull not null,
    email varchar2(64) constraint teacher_email_notnull not null 
                    constraint teacher_email_unique unique,

    
    sex number constraint teacher_sex_min_check check(sex in(1,2)),
    age number constraint teacher_age check(age>20)
);
复制代码

 

**插入:**

 

    insert into teacher(sid, sname, email, sex, age) values (1, 'tom11', '11@qq.com', 1, 21);

 

 

       
# 主外键约束

 

复制代码
create table teacher2
(
    sid number constraint teacher2_sid_pk primary key,
    sname varchar2(20) constraint teacher2_sname_notnull not null,
    email varchar2(64) constraint teache2r_email_notnull not null 
                    constraint teache2r_email_unique unique,


    
    sex number constraint teacher2_sex_min_check check(sex in(1,2)),
    age number constraint teacher2_age check(age>20),
    deptno number constraint teacher2_deptno_pk references dept(deptno)
);
复制代码

 

 

posted @   王清河  阅读(244)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示