在创建表时。为列加入not null约束,形式例如以下:

column_name data_type

[constraint constraint_name] not null

当中,constraint constraint_name 表示为约束指定名称。

也能够为已创建的表中加入not null约束,这时就须要使用alter table... modify语句。形式例如以下:

alter table table_name modify column_name [constraint constraint_name] not null;





删除not null约束

假设须要删除表中的裂伤的not null约束,依旧是使用alter table...modify语句,形式例如以下:

alter table table_name modify column_name null;





详细的操作例如以下:

SQL> create table person(

  2  pid number(4) not null,

  3  pname varchar2(20),

  4  psex char(2)

  5  );

表已创建。

SQL> desc person;

 名称                                      是否为空? 类型

 ----------------------------------------- -------- -------------------

 PID                                       NOT NULL NUMBER(4)

 PNAME                                              VARCHAR2(20)

 PSEX                                               CHAR(2)

SQL> alter table person modify pname not null;

表已更改。

SQL> desc person;

 名称                                      是否为空?

类型

 ----------------------------------------- -------- ------------------

 PID                                       NOT NULL NUMBER(4)

 PNAME                                     NOT NULL VARCHAR2(20)

 PSEX                                               CHAR(2)

SQL> insert into person values(1,'aaa','女');

已创建 1 行。

SQL> insert into person values(1,'aaa',null);

已创建 1 行。

SQL> insert into person values(1,null,null);

insert into person values(1,null,null)                           *

第 1 行出现错误:

ORA-01400: 无法将 NULL 插入 ("SYSTEM"."PERSON"."PNAME")

SQL> alter table person modify pname null;

表已更改。

SQL> desc person;

 名称                                      是否为空? 类型

 ----------------------------------------- -------- ------------------

 PID                                       NOT NULL NUMBER(4)

 PNAME                                              VARCHAR2(20)

 PSEX                                               CHAR(2)

SQL> insert into person values(1,null,null);

已创建 1 行。

SQL>

oracle加入not null约束的更多相关文章

  1. SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

    CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...

  2. 约束Constraints--主键约束、外键约束、唯一约束、检查约束、默认约束、NOT NULL约束、列约束与表约束、创建约束、删除约束

    约束   Including Constraints 以下内容转自:https://www.cnblogs.com/wcl2017/p/7043939.html和http://blog.csdn.ne ...

  3. Oracle删除主键约束的同时删除索引

    继续昨天的折腾(Oracle修改主键约束),删掉主键约束后,发现唯一索引并未删掉.仔细看了下,主键约束跟唯一索引名称不一样,这说明是先创建了唯一索引,后创建的主键约束.我们来试验下: SQL> ...

  4. Oracle系列十二 约束

    约束是表级的强制规定有以下五种约束: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK 注意事项 如果不指定约束名 ,Oracle server 自动按照 S ...

  5. Oracle空串与null的处理

    来源于:http://blog.itpub.net/24870090/viewspace-1057853/ Oracle空串与null的处理[@more@] Oracle中的空字符串基本上是被当成空N ...

  6. [转]Oracle数据库中的约束

    SQL 约束 约束用于限制加入表的数据的类型. 可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句). 我们将主要探讨以下几种约 ...

  7. oracle 删除外键约束 禁用约束 启用约束

    oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码  select 'alter table '||table_name||' drop con ...

  8. SQL升级Oracle挖的Null坑,你懂的!

    最近公司做系统数据库升级,主要由原来的SQL数据库升级Oracle数据库,对于拥有千万级数据库的实用系统来说,迁移不是件容易的时,光数据同步就需要很久,更别说要修改升级原来的SQL库使用的存储过程和视 ...

  9. SQL NOT NULL 约束

    SQL NOT NULL 约束 NOT NULL 约束强制列不接受 NULL 值. NOT NULL 约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 下面的 SQ ...

随机推荐

  1. RPD Volume 172 Issue 1-3 December 2016 评论01

    Evaluation of Imaging Dose From Different Image Guided Systems During Head and Neck Radiotherapy: A ...

  2. Codeforces 920 G List Of Integers

    题目描述 Let's denote as L(x,p)L(x,p) an infinite sequence of integers yy such that gcd(p,y)=1gcd(p,y)=1 ...

  3. [CF915F]Imbalance Value of a Tree

    [CF915F]Imbalance Value of a Tree 题目大意: 一棵\(n(n\le10^6)\)个结点的树,每个结点有一个权值\(w_i\).定义\(I(i,j)\)为\(i\)到\ ...

  4. 十. 图形界面(GUI)设计7.文本框和文本区的输入输出

    在GUI中,常用文本框和文本区实现数据的输入和输出.如果采用文本区输入,通常另设一个数据输入完成按钮.当数据输入结束时,点击这个按钮.事件处理程序利用getText()方法从文本区中读取字符串信息.对 ...

  5. 动态规划之DP中判断是否到达某一状态(最短时间是什么)?

    codevs1684 垃圾陷阱  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 卡门——农夫约翰极其珍视的一条Holste ...

  6. yum出现的“UnicodeDecodeError: 'ascii' codec”问题解决

    新装了CentOS 6.5系统,打算使用yum安装程序是出现了如下错误: Loading mirror speeds from cached hostfile Traceback (most rece ...

  7. C#中Math的使用总结

    1.向上进位取整.Math.Ceiling 例如: Math.Ceiling(32.6)=33; Math.Ceiling(32.0)=32; 2.向下舍位取整.Math.Floor 例如: Math ...

  8. 开源的库RestSharp轻松消费Restful Service

    现在互联网上的服务接口都是Restful的,SOAP的Service已经不是主流..NET/Mono下如何消费Restful Service呢,再也没有了方便的Visual Studio的方便生产代理 ...

  9. html5:localStorage储存

    实例:刷新值会增长,关掉浏览器,再打开,值会在原基础上增长 if(localStorage.pagecount){ localStorage.pagecount=Number(localStorage ...

  10. [Linux]nginx tomcat做负载均衡

    之前使用nginx做过web反向代理,没有做过负载均衡,今天有个同学须要做tomcat的负载均衡,我也研究下. 一共是2个机器,一个物理机(win7)上面部署2个tomcat,使用不同的port启动. ...