`
哇哈哈852
  • 浏览: 87357 次
文章分类
社区版块
存档分类
最新评论

Oracle添加表约束的2种方法

阅读更多


Oracle添加表约束的2种方法

方法一、在列的级别上定义约束

create table product (

Pname varchar2(20) unique,

Pdate date not null,

PID number(5) primary key,check(PID>10000 AND PID<=99999),

Ploc char(30) default '北京')

要点就是在列的结尾直接添加,如果同一列有多个约束,通过逗号来分隔

有个问题,通过数字字典来查询约束,我们得到的是系统提供的名字并且约束的类型不好区分。

SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';

CONSTRAINT_NAME                                        CONSTRAINT_TYPE
------------------------------------------------------------ --                                                                                                                                       
SYS_C009539                                                  C                                                                                                                                       
SYS_C009540                                                  C                                                                                                                                       
SYS_C009541                                                  P                                                                                                                                       
SYS_C009542                                                  U

U:表示unique

P:primary key

C:check或者default

查看列的默认值:

SQL> select column_name,datA_dEfault from useR_tab_columns where table_name = 'PRODUCT';

COLUMN_NAME                                                  DATA_DEFAULT                                                                                                                             
------------------------------------------------------------ --------------------------------------------------------------------------------                                                         
PNAME                                                                                                                                                                                                 
PDATE                                                                                                                                                                                                 
PID                                                                                                                                                                                                   
PLOC                                                        '北京'



方法二、在表级别上定义约束:

Create table product(

PID number(5),

PNAME varchar2(20),

PDATE date constraint NN_PDATE_PRODUCT not null,

PLOC char(30) default ‘北京’,

FKDEPTNO number(5),

Constraint UK_PNAME_PRODUCT unique(PNAME),

Constraint PK_PID_PRODUCT primary key(PID),

Constraint CK_PID_PRODUCT check(PID>10000 AND PID<9999),

Constraint FK_DEPTNO foreign key (FKDEPTNO) references dept(DEPTNO)

);

SQL> select constraint_name,constraint_type from user_constraints where table_name = 'PRODUCT';

CONSTRAINT_NAME                                              CO                                                                                                                                       
------------------------------------------------------------ --                                                                                                                                       
NN_PDATE_PRODUCT                                            C                                                                                                                                       
CK_PID_PRODUCT                                              C                                                                                                                                       
PK_PID_PRODUCT                                              P                                                                                                                                       
UK_PNAME_PRODUCT                                            U                                                                                                                                       
FK_DEPTNO_PRODUCT                                            R  



删除约束

Alter table product drop primary key;

Alter table product drop constraint PK_PID_PRODUCT;

Alter table product drop unique (PNAME);

Alter table product modify(PDATE,null);

Alter table product modify(PLOC,default null)/modify(PLOC ,default ‘威海’);--更改默认值

Alter table product drop constraint FK_DEPTNO;

外键、check约束只能使用约束名来删除,其他约束如果有约束名也可以使用约束名来删除



增加约束

Alter table product add primary key (PID);

Alter table product add constraint PK_PID primary key(PID);

Alter table product add unique(PNAME);

Alter table product modify(PDATE, not null);

Alter table product modify(PLOC ,default ‘威海’);
  • 大小: 43.2 KB
分享到:
评论

相关推荐

    oracle约束

    详细介绍了oracle的常见约束,表级约束(主键),列级约束,唯一性约束,外键约束,并介绍了如何给相应的约束命名

    Oracle 增加修改删除字段

    Oracle使用 alter 增加 修改 删除 字段, 可以同时添加多个字段 创建 修改 添加表的约束

    在Oracle数据库中添加外键约束的方法详解

    添加外键:添加一个外键到表。 删除外键:删除已选择的外键。 使用 名 编辑框来输入新键的名。 使用 参考模式、参考表 和 参考限制 下拉列表来分别选择一个外部索引数据库、表及限制。 要包含栏位到键,只需简单地...

    oracle创建表创建唯一索引

    创建学员信息表--创建唯一索引--修改学员信息表添加主键和检查约束

    Oracle11g从入门到精通2

    第2章 Oracle在Windows平台上的安装与配置 2.1 Oracle通用安装器 2.2 Oracle数据库软件的安装 2.3 Oracle数据库软件的卸载 2.3.1 停止所有的Oracle服务 2.3.2 用OUI卸载所有的Oracle组件 2.3.3 手动删除...

    Oracle.11g.从入门到精通 (2/2)

    第2章 Oracle在Windows平台上的安装与配置 2.1 Oracle通用安装器 2.2 Oracle数据库软件的安装 2.3 Oracle数据库软件的卸载 2.3.1 停止所有的Oracle服务 2.3.2 用OUI卸载所有的Oracle组件 2.3.3 手动删除Oracle遗留的...

    Oracle自学(学习)材料 (共18章 偏理论一点)

    11 管理表 目标 11-2 储存用户数据 11-3 Oracle 数据类型 11-5 ROWID 格式 11-8 行的结构 11-10 创建一张表 11-11 创建临时表 11-13 创建表:指南 11-14 修改储存参数 11-15 手工分配片 11-16 重构非分区表 11-17 ...

    Oracle表管理

    oracle 表空间管理 表的创建 添加列 删除列 添加约束

    ORACLE教材

    第一章:oracle体系结构 ORACLE 10G的卸载与安装 客户端连接工具 Oracle 10g体系结构 第二章:sql基础 ORACLE数据类型 SQL基本语法 简单查询 SQL函数 多数据表查询 事务控制 第三章:plsql基础 声明及...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等  语法结构 create table 表名( [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) ...

    Oracle.11g.从入门到精通 (1/2)

    第2章 Oracle在Windows平台上的安装与配置 2.1 Oracle通用安装器 2.2 Oracle数据库软件的安装 2.3 Oracle数据库软件的卸载 2.3.1 停止所有的Oracle服务 2.3.2 用OUI卸载所有的Oracle组件 2.3.3 手动删除Oracle遗留的...

    oracle10g课堂练习I(2)

    用于管理 Oracle 数据库的工具 2-4 安装:系统要求 2-6 检查系统要求 2-7 灵活体系结构 (OFA) 2-8 使用灵活体系结构 2-9 设置环境变量 2-11 Oracle Universal Installer (OUI) 2-13 安装 Oracle 软件 2-14 ...

    Oracle基础、源代码

    Oracle基本操作、 建立表空间(tableSpace) 添加一个新用户(DBA) 建表并添加约束、

    Oracle11g从入门到精通

    第2章 Oracle在Windows平台上的安装与配置 2.1 Oracle通用安装器 2.2 Oracle数据库软件的安装 2.3 Oracle数据库软件的卸载 2.3.1 停止所有的Oracle服务 2.3.2 用OUI卸载所有的Oracle组件 2.3.3 手动删除Oracle...

    oracle数据备份

    Oracle 数据库 对数据库的表进行修改有如下几点 1. 列的添加,修改和删除 添加列 Alter table•••add Alter table table_name add (new_colum_name datatype [default value] [not null]) 修改列类型 Alter table...

    oracle创建表的方法和一些常用命令

    1、主键和外键主键:关系...注2:Oracle数据库共有5个约束:主键、外键、非空、唯一、条件非空:这个列的值不能为空(NOT NULL)唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值(NULL)条件:可以对列的

Global site tag (gtag.js) - Google Analytics