zoukankan      html  css  js  c++  java
  • 约束


    57. 定义非空约束
    1). 非空约束只能定义在列级.

    2). 不指定约束名

    create table emp2 (name varchar2(30) not null, age number(3));

    3). 指定约束名

    create table emp3(name varchar2(30) constraint name_not_null not null, age number(3));

    58. 唯一约束(但是可以插入多个空值)
    1). 行级定义

    ①. 不指定约束名

    create table emp2 (name varchar2(30) unique, age number(3));

    ②. 指定约束名

    create table emp3 (name varchar2(30) constraint name_uq unique, age number(3));

    2). 表级定义: 必须指定约束名
    ①. 指定约束名

    create table emp3 (name varchar2(30), age number(3),constraint name_uq unique(name));
    

      


    59. 外键约束
    1). 行级定义

    ①. 不指定约束名

    create table emp2(
           emp_id number(6), 
           name varchar2(25), 
           dept_id number(4) references dept2(dept_id))

    ②. 指定约束名

    create table emp3(
           emp_id number(6), 
           name varchar2(25), 
           dept_id number(4) constraint dept_fk3 references dept2(dept_id))

    2). 表级定义: 必须指定约束名


    ①. 指定约束名

    create table emp4(
           emp_id number(6), 
           name varchar2(25), 
           dept_id number(4),
           constraint dept_fk2 foreign key(dept_id) references dept2(dept_id))

    60. 约束需要注意的地方
    1). ** 非空约束只能定义在列级


    2). ** 唯一约束的列值可以为空


    3). ** 外键引用的列起码要有一个唯一约束

    61. 建立外键约束时的级联删除问题:
    1). 级联删除:

    create table emp2(
           id number(3) primary key, 
           name varchar2(25) unique, 
           dept_id references dept2(dept_id) on delete cascade)

    2).级联置空

    create table emp3(
           id number(3) primary key, 
           name varchar2(25) unique, 
           dept_id references dept2(dept_id) on delete set null)
  • 相关阅读:
    Delegte的BeginInvoke
    C# socket 实现客户端连续发送数据
    Button的PerformClick()
    Invoke和BeginInvoke
    Application.DoEvents() 处理队列消息,防界面假死
    BackgroundWorker后台线程
    CF773F
    ORM框架,没必要搞那么复杂
    VS Unable to copy file
    Unbuntu auto start program
  • 原文地址:https://www.cnblogs.com/nbkyzms/p/5031434.html
Copyright © 2011-2022 走看看