在创建表时。为列加入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. android 屏幕显示

    一.像素 android 常用单位 px.dp.sp dp和sp只与屏幕的物理尺寸有关 dp和sp的区别: sp会随着系统字体的大小而改变,通常用来设置字体大小.dp不会随系统设置的字体改变 dp和p ...

  2. codeforces Round #441 C Classroom Watch【枚举/注意起点】

    C. time limit per test 1 second memory limit per test 512 megabytes input standard input output stan ...

  3. C#外围工具资源

    1.MATH.NET数学库:可以用于 矩阵计算 方程求根 插值拟合 ... 2.

  4. CodeForces - 986C AND Graph

    不难想到,x有边连出的一定是 (2^n-1) ^ x 的一个子集,直接连子集复杂度是爆炸的...但是我们可以一个1一个1的消去,最后变成补集的一个子集. 但是必须当且仅当 至少有一个 a 等于 x 的 ...

  5. HDU 2819 Swap(二分图匹配)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2819 [题目大意] 给出一个棋盘,由白格子和黑格子组成,可以交换棋盘的行列, 使得其主对角线为黑格 ...

  6. [CF407E]k-d-sequence

    题意:给定$a_{1\cdots n}$,让你求出一个最长的子串$a_{l\cdots r}$,使得这个子串加上最多$k$个数字并排序后是一个公差为$d$的等差数列 首先$d=0$就是最长连续相等段, ...

  7. JDBC 操作数据库

    jdbc: package org.java.dao; import java.sql.Connection; import java.sql.DriverManager; import java.s ...

  8. Sublime | 编辑工具Sublime的使用小结

    文章目录 Sublime Package & Usage MarkdownEditing MarkdownPreview Usage Key Bindings Setting (语法高亮和ma ...

  9. 洛谷 P2066 机器分配

     题目背景 Background 无  题目描述 Description 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能 ...

  10. 使用WinDbg调试SQL Server——入门:Woodytu

    http://www.cnblogs.com/woodytu/p/4663525.html https://www.sqlpassion.at/archive/2014/05/13/debugging ...