zoukankan      html  css  js  c++  java
  • create table as 复制not null

    创建一张表包含非空约束,唯一约束和check约束

    SQL> create table dept(
    2 ename varchar2(20) constraint mep_ename_nn not null,
    3 email varchar2(30) constraint mep_email_uk unique,
    4 constraint emp_email_ck check ((instr(email,'@')>0)));

    Table created.

    查看约束情况:
    SQL> select constraint_name,constraint_type,column_name
    2 from user_constraints natural join user_cons_columns
    3 where table_name='DEPT';

    CONSTRAINT_NAME C COLUMN_NAME
    ------------------------------ - ---------------
    MEP_ENAME_NN       C ENAME
    EMP_EMAIL_CK         C EMAIL
    MEP_EMAIL_UK         U EMAIL

    使用create table as语句创建另外一张表:

    SQL> create table dept_test as select * from dept;

    Table created.

    检查约束情况,只有ename上的nut null约束被复制了过来

    SQL> select constraint_name,constraint_type,column_name
    2 from user_constraints natural join user_cons_columns
    3 where table_name='DEPT_TEST';

    CONSTRAINT_NAME C COLUMN_NAME
    ------------------------------ - ---------------
    SYS_C0011591           C ENAME

    尝试插入数据报错

    SQL> insert into dept_test(email) values('cc@');
    insert into dept_test(email) values('cc@')
    *
    ERROR at line 1:
    ORA-01400: cannot insert NULL into ("SYS"."DEPT_TEST"."ENAME")

  • 相关阅读:
    [USACO5.1]二维凸包模板
    HTML 5 Web 存储
    计算两个坐标点的距离(高德or百度)
    Cache的一些总结
    PowerDesigner最基础的使用方法
    MongoDB安装
    MangoDB CSharp Driver
    Linq语法详细
    where用法
    .Net下二进制形式的文件存储与读取
  • 原文地址:https://www.cnblogs.com/zx3212/p/7040553.html
Copyright © 2011-2022 走看看