`
依山傍水
  • 浏览: 54541 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

学习oracle笔记:表与字段(四)

 
阅读更多

前言:约束分为两种,一种是列约束,一种是表约束。列约束是指定义在一个列上的约束,表约束指定义在两个或多个列上的约束。

 

10.PRIMARY KEY 约束:

ALTER TABLE MYTABLE ADD  CONSTRAINTS NAME  PRIMARY KEY (FIELD[,FIELD...]);

 

11.UNIQUE约束:

ALTER TABLE MYTABLE ADD  CONSTRAINTS NAME  UNIQUE (FIELD);

 

12.CHECK约束:

ALTER TABLE MYTABLE ADD  CONSTRAINTS NAME  CHECK (FIELD 表达式); 

 

其中:CHECK 约束相当于validate,也分为列约束,表约束,并且对一个列可以定义多个CHECK约束。

 

13.FOREIGN KEY 约束:

ALTER TABLE MYTABLE ADD  CONSTRAINTS NAME FOREIGN KEY FIELD REFERENCES MYTABLE2 (FIELD) ON DELETE CASCADE/SET NULL/ NO ACTION;

 

其中 ON DELETE分为三种模式:

CASCADE:级联删除 ,默认;

  SET NULL :关联子表设置为NULL ,

NO ACTION:无操作,这种操作会发生错误,所以会被禁止。

 

14.删除、禁止、激活约束:

删除:

ALTER TABLE MYTABLE DROP CONSTRAINTS NAME;

 

禁止:

ALTER TABLE MYTABLE DISABLE CONSTRAINTS NAME;

ALTER TABLE MYTABLE MOIDFY CONSTRAINTS NAME DISABLE;

 

激活:

ALTER TABLE MYTABLE ENABLE CONSTRAINTS NAME;

ALTER TABLE MYTABLE MODIFY CONSTRAINTS NAME ENABLE;

 

15.使用约束的四种状态:

ENABLE VALIDATE:激活约束状态,对已存在的记录进行约束检查,并对以后添加的数据进行检查;

 

ENABLE NOVALIDATE:激活非验证约束,不对已存在 的记录进行约束检查,只能以后添加的数据进行检查;

 

DISABLE VALIDATE:禁止验证状态,对已存在的记录进行约束检查,ORACLE不允许添加数据;

 

DISABLE NOVALIDATE:禁用非验证状态,不对已厦的记录进行检查,也不对以后添加的数据进行检查。

 

ALTER TABLE MYTABLE MODIFY CONSTRAINTS NAME ENABLE VALIDATE/*/*/*.

 

16.延迟约束:

状态:

DEFERRABLE INITIALLY IMMEDIATE:在添加或修改语句时立即检查约束 ;

DEFERRABLE INITIALLY DEFERRED:在添加或修改语句时不立即检查,只在提交事务时检查约束 。

 

延迟约束性,只能在第一次ALTER TABLE ADD CONSTRAINTS时添加,不能建立约束之后又修改或添加约束的延迟性。但是可以在建立延迟性后修改状态。例如 :

 

建立 :

ALTER TABLE MYTABLE ADD CONSTRAINTS NAME PRIMARY KEY/UNIQUE/*/* FIELD_NAME DEFERRABLE INITIALLY IMMEDIATE; 

 

修改:

ALTER TABLE MYTABLE MODIFY CONSTRAINTS NAME INITIALLY DEFERRED; 

 

或者:

SET CONSTRAINT NAME DEFERRED;

 

17.查看约束:

查看表中的约束:

SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,DEFERRED,DEFERRABLE,STATUS FROM USER_CONSTRAINTS ; 可以添加WHERE条件,比如:WHERE TABLE_NAME='MYTABLE';

 

查看列中的约束:

COLUMN COLUMN_NAME FORMAT A10;

SELECT CONSTRAINT_NAME, COLUMN_NAME FROM USER_CONS_COLUMNS ;同样可以添加WHERE条件。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    个人学习oracle笔记

    这个“个人学习Oracle笔记”文件很可能是作者在深入学习Oracle数据库的过程中积累的知识点总结,旨在帮助初学者从基础开始逐步掌握Oracle的核心概念和技术。 Oracle数据库的基础知识包括以下几个主要方面: 1. **...

    Oracle学习笔记_(PDF版)

    ### Oracle学习笔记要点 #### 一、SQL Plus的使用方法 - **命令行方式**: 在命令行中直接输入 `sqlplus` 命令,并随后输入用户名和密码。 - **客户端方式**: 使用Oracle提供的SQL Plus客户端工具进行登录。 - **Web...

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    史上最全的oracle笔记

    这篇史上最全的Oracle笔记将为你提供全面的学习指导。 一、数据库基础 数据库(DataBase)是存储数据的系统,Oracle数据库允许用户以表格的形式组织和管理数据。在Oracle中,数据主要以表的形式存在,表是数据库中...

    oracle 数据库学习笔记(全)

    Oracle 数据库学习笔记是学习 Oracle 数据库的重要笔记,涵盖了 Oracle 数据库的基本概念、数据类型、表的创建和管理、用户管理、权限管理、数据操作等方面的知识点。 一、Oracle 数据库基本概念 * Oracle 数据库...

    三天学习 oracle笔记

    以下是对"三天学习Oracle笔记"中可能包含的知识点的详细解释: 1. **Oracle数据库架构**:Oracle数据库由多个组件构成,包括实例(Instance)和数据库(Database)。实例是运行在服务器上的内存结构和后台进程,而...

    oracle学习笔记 oracle学习方法 韩顺平视屏

    以下是对Oracle学习笔记和相关知识点的详细解析: 1. **基础概念与术语** - **SQL**:Structured Query Language,用于管理和处理关系数据库的标准语言。 - **RDBMS**:关系数据库管理系统,Oracle便是其中的代表...

    ORACLE建外部表笔记

    ### ORACLE创建外部表知识点详解 #### 一、创建外部表背景及意义 在Oracle数据库中,外部表是一种特殊的表类型,它允许直接访问文件系统中的数据文件,而无需将这些数据加载到数据库中。这种方式既节省了存储空间...

    学习oracle笔记(word版本)

    以下是一些从“学习Oracle笔记”中提取的关键知识点: 1. **DECODE 函数**:DECODE 函数在Oracle SQL中用于替代简单的IF...ELSE逻辑。在示例中,`decode(sex, '男', 1, 0)` 意味着如果性别为'男',则返回1,否则...

    基础的oracle学习的笔记

    这篇笔记主要聚焦于Oracle的基础知识,包括SQL语句、数据类型、表的创建与管理、索引、视图以及事务处理等核心概念。 首先,让我们从SQL语言开始。SQL(Structured Query Language)是用于管理关系数据库的标准语言...

    Oracle数据库笔记大全

    - **一对一、一对多、多对多关系**: 描述表之间的关联,如班长表与班级表、班级表与学生表、学生表与课程表。 - **主键**: 一个或一组字段,能唯一标识表中每一行,确保实体完整性。 - **表空间**: Oracle数据库...

    Oracle 10g sql 学习笔记

    Oracle 10g SQL 学习笔记涵盖了Oracle数据库的基础知识,包括版本信息、数据库系统特点、关系型数据库结构、SQL语言、操作环境以及常见的数据库操作。以下是对这些知识点的详细说明: 1. **Oracle 9i基础知识**: ...

    Oracle查询操作的学习笔记

    ### Oracle查询操作学习笔记知识点详解 #### 一、Oracle用户管理与权限分配 - **创建用户**:在Oracle中创建用户的基本语法为`CREATE USER username IDENTIFIED BY password`。例如,`CREATE USER xiaoming ...

    oracle学习完全笔记

    这篇"Oracle学习完全笔记"旨在帮助初学者全面掌握Oracle的核心概念和技术。笔记分为多个部分,涵盖了Oracle的基础知识,包括SQL语言、数据库管理和用户管理。 首先,介绍的是Oracle的命令行客户端——SQL*Plus。SQL...

    oracle_sql笔记

    Oracle SQL是数据库管理员和开发人员在Oracle数据库系统中进行数据查询和管理的重要工具。这篇笔记主要涵盖了Oracle SQL的...这两份“Oracle SQL笔记”文档应包含了上述各个方面的详细解释和实例,值得仔细阅读和学习。

    Oracle 笔记 详解 资料 用例

    这份"Oracle笔记详解资料用例"涵盖了Oracle数据库的核心概念、安装配置、SQL语言、表和索引、存储结构、备份恢复、性能优化等多个方面,是学习和掌握Oracle数据库的宝贵资源。 首先,Oracle数据库的基础部分包括...

    oracle plsql编程学习笔记

    **函数**:与过程类似,但主要用于计算并返回值。如`fun_fun1`函数,接收一个雇员姓名作为参数,返回该雇员的年收入。函数必须使用`RETURN`语句指定返回类型,并在函数体中通过`SELECT`语句计算返回值。 #### 三、...

Global site tag (gtag.js) - Google Analytics