`

oracle中约束!

阅读更多
1. oracle约束

1.1 主键约束
primary key用于唯一的标示表行的数据,当定义主键约束后,该列不但不能重复而且不能为null。
需要说明的是:一张表最多只能有一个主键,但是可以有多个unqiue约束。

1) 无命名的主键约束
SQL> create table studentclass (
  id int primary key not null,
  classname varchar2(20)
);
SQL> select table_name, index_name from user_indexes where table_name='STUDENTCLASS';

2) 有命名的主键约束
SQL> create table studentclass (
  id int primary,
  classname varchar2(20),
  constraint studentclass_pk_id primary key(id)
);
SQL> select table_name, index_name from user_indexes where table_name='STUDENTCLASS';

3) 向表中添加主键约束
SQL> create table studentclass (
  id int primary key not null,
  classname varchar2(20)
);
SQL> alter table studentclass add constraint studentclass_pk_id primary key(object_id);
SQL> select table_name, index_name from user_indexes where table_name='STUDENTCLASS';

4) 查询主键状态
SQL> select a.table_name, a.index_name, b.constraint_name, b.constraint_type, b.status from user_indexes a, user_constraints b where b.table_name='STUDENTCLASS' and a.table_name = b.table_name;

5) 禁用/启用主键
禁用主键
SQL> alter table studentclass disable primary key;
启用主键
SQL> alter table studentclass enable primary key;

6) 重命名主键
SQL> alter table studentclass rename constraint studentclass_pk_id to studentclass_new_pk_id;

7) 查询主键名
SQL> select owner, constraint_name, table_name, column_name from user_cons_columns where table_name = 'STUDENTCLASS';

8) 删除主键约束
SQL> alter table jack drop constraint STUDENTCLASS_PK_ID;

9) 当索引创建好以后再添加主键的效果


1.2 外键约束约束
foreign key用于定义主表和从表之间的关系。外键约束要定义在从表上,主表则必须具有主键约束或是unique 约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为null。

外键约束分为三种:
1. 普通外键约束(如果存在子表引用父表主键,则无法删除父表记录)
2. 级联外键约束(可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除)
3. 置空外键约束(可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为null,但该字段应允许空值)

1. alter table t_invoice_detail add constraint fk_invoice_id foreign key(invoice_id) references t_invoice(id);
2. alter table t_invoice_detail add constraint fk_invoice_id foreign key(invoice_id) references t_invoice(id) on delete cascade;
3. alter table t_invoice_detail add constraint fk_invoice_id foreign key(invoice_id) references t_invoice(id) on delete set null;

1) 创建外键约束
SQL> create table studentclass (
  id int primary key not null,
  classname varchar2(20)
);
SQL> 



3) 唯一性约束
当定义了unique唯一约束后,该列值是不能重复的,但是可以为null。

4) 检查约束
check用于强制行数据必须满足的条件。

5) 默认值约束
default设置字段未赋值时的默认值。

6) 非空约束
如果在列上定义了not null,那么当插入数据时,必须为列提供数据。
分享到:
评论

相关推荐

    Oracle 约束错误约束错误

    在本文中,我们将讨论 Oracle 中的约束错误,特别是 ORA-02292 错误,该错误通常发生在试图删除或修改父表中的记录,但子表中存在对应的记录时。 ORA-02292 错误的原因是由于试图删除或修改父表中的记录,但子表中...

    Oracle的约束【Constraint】

    对于初学者而言,理解Oracle中的不同约束类型及其管理方式至关重要。 ##### 约束状态 约束的状态包括: 1. **ENABLED、VALIDATED**:此状态下,新插入的数据和现有数据均需符合约束条件,确保数据完整性和一致性...

    Oracle所有约束基本语法

    在Oracle中,约束是定义在表上的规则,用于限制可以存储在表中的数据类型和值。以下是对Oracle中各种约束的基本语法的详细解释: 1. **主键约束(Primary Key)**: - 主键约束用于标识表中的唯一记录,通常由一个...

    Oracle 关闭所有约束 存储过程

    应用于存在外键或其他约束时,需要跳过约束条件将数据导入表中,可使用该存储过程临时关闭或开启数据约束, 使用时可根据实际情况进行修改

    经典资料2----Oracle练习题!

    Oracle SQL是Oracle数据库的基础,它用于从数据库中检索、更新和操作数据。练习题可能包括选择查询、连接查询(内连接、外连接)、子查询、聚合函数(如COUNT、SUM、AVG、MAX、MIN)以及分组和排序等。理解SQL的DML...

    oracle 数据库约束笔记

    Oracle 数据库约束笔记 Oracle 数据库约束是一种机制,用于确保数据库数据的完整性和一致性。约束是指在数据库中强制执行某些规则,以确保数据的正确性和一致性。Oracle 数据库提供了多种类型的约束,包括 NOT NULL...

    Oracle定义约束 外键约束

    本文将详细介绍如何在Oracle数据库中使用**外键约束**来确保数据的参照完整性。 #### 二、什么是外键约束 外键约束是一种用于保证两个表之间数据一致性的机制。当两个表存在关联时,通过在外键表(子表)中设置外键...

    oracle基本约束语法

    在Oracle数据库中,约束是用于确保数据完整性的规则或规定,它们定义了表中的数据必须遵循的特定条件。约束可以在创建表时定义,也可以在表已经存在后通过修改表结构来添加。以下是对Oracle数据库中四种主要约束类型...

    Oracle约束详解 Oracle约束详解

    Oracle约束详解

    oracle约束和索引笔记

    Oracle约束和索引是数据库设计和优化的核心概念。通过正确地应用约束,可以确保数据的准确性和一致性;而合理地创建和管理索引,则能够显著提升查询速度,提高整体系统性能。作为数据库管理员或开发者,理解和熟练...

    oracle约束详解

    ### Oracle约束详解 在Oracle数据库管理系统中,约束是用于确保数据完整性和一致性的规则或条件。这些约束可以被定义在表级别的字段上,用来限制存储在表中的数据类型。通过实施约束,我们可以确保数据的质量,并...

    oracle中如何创建约束?

    在Oracle数据库中,创建约束是确保数据完整性和一致性的重要手段。约束可以分为多种类型,包括主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一(UNIQUE)、非空(NOT NULL)以及检查(CHECK)约束。本文将重点讨论...

    08 oracle的 约束 ppt

    根据提供的标题、描述以及部分可见内容,我们可以推测这份PPT主要介绍了Oracle数据库中的约束机制。在Oracle数据库中,约束是一种确保数据完整性和一致性的方法。接下来,我们将详细探讨Oracle数据库中常见的几种...

    Oracle约束详解.pdf

    1 1 、 e oracle 数据库有 5 5 种约束: :y primary n key,foreign key,unique,check,not null 2 2 、 如果某个约束只作用单独的字段,即可以在列级定义约束;也可以在表 级定义约束。但是如果某个约束作用于多...

    Oracle中定义常用约束对象的命令

    ### Oracle中定义常用约束对象的命令 在Oracle数据库中,为了确保数据的完整性和一致性,开发者经常使用不同的约束来限定表中的数据。本文将详细介绍五种常用的约束类型:非空约束(NOT NULL)、唯一性约束(UNIQUE...

    Oracle唯一约束.txt

    本篇文章将详细探讨Oracle数据库中唯一约束的定义、创建方法以及相关的应用场景。 #### 一、唯一约束的定义 唯一约束(UNIQUE constraint)是Oracle数据库提供的用于限制表中某些列的值的唯一性的机制。它可以应用...

    Oracle字段约束.docx

    本文将深入探讨Oracle字段约束的五种主要类型:主键约束、唯一性约束、非空约束、检查约束以及外键约束。 首先,主键约束(PRIMARY KEY)是表的核心组成部分,它定义了一个或一组列,其值必须唯一且不能为NULL。...

    数据库面试题4 oracle笔试 oracle例题

    在Oracle数据库的使用中,SQL语句的性能优化至关重要,尤其是在处理大规模数据时。优化SQL语句能够显著提升系统的响应速度,提高系统的可用性和效率。以下是一些关于SQL语句性能调整的重要原则和注意事项: 1. **IS...

Global site tag (gtag.js) - Google Analytics