zoukankan      html  css  js  c++  java
  • ORACLE10G中列属性NULLABLE与CHECK约束及主键约束的关系2

    Create TABLE ZWXTEST04
    (
       ID integer    not null     ,
       NAME varchar  (100)  not null primary key    
    ) cache;

    select * from user_constraints where table_name='ZWXTEST04';

    SELECT * FROM USER_TAB_COLUMNS where table_name='ZWXTEST04';

    产生三个约束。CCP。两个列的NULLABLE均为N。

    ALter table ZWXTEST04 drop constraint SYS_c0039012;

    删除NAME列自动产生的约束。

    select * from user_constraints where table_name='ZWXTEST04';

    SELECT * FROM USER_TAB_COLUMNS where table_name='ZWXTEST04';

    观察到NAME列的NULLABLE仍然为N。

    ALter table ZWXTEST04 drop constraint SYS_c0039013;

    删除主键约束

    select * from user_constraints where table_name='ZWXTEST04';

    SELECT * FROM USER_TAB_COLUMNS where table_name='ZWXTEST04';

    至此NAME列的NULLABLE自动恢复为Y。

    结论:

           当列为主键列时,无法使用MODIFY设置其列为NULL,当显示声明的NOT NULL 被去除时,需要手工去清除自动产生的CHECK。

    目标:

    Create TABLE ZWXTEST04
    (
       ID integer    not null     ,
       NAME varchar  (100)  primary key    
    ) cache;

    差异语句:

        寻找NAME上的自动约束,删除它。

          

  • 相关阅读:
    Phpstudy升级到Mysql8
    PHP 匿名函数使用技巧
    PHP 中的CURL 模拟表单的post提交
    Go中局部全局变量的区分
    Php中的goto用法
    struct的匿名用法详解
    Go中多个返回值的技巧
    C# 多线程之List的线程安全问题
    C# 多线程七之Parallel
    C# 多线程六之Task(任务)三之任务工厂
  • 原文地址:https://www.cnblogs.com/QinQouShui/p/1875167.html
Copyright © 2011-2022 走看看