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

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所有约束基本语法

    创建表时,可以将`not null`约束添加到字段定义中,如`Create table UserInfo(UserID varchar2(20), UserPassWord varchar2(20) constraint N_UserPassWord not null, ...)`。若表已存在,可使用`Alter table modify...

    Oracle的约束【Constraint】

    `语法,例如,向`emp`表添加一个薪资检查约束`emp_chk_sal CHECK(sal &gt;= 800);`。 - **删除约束**:使用`ALTER TABLE table_name DROP CONSTRAINT constraint_name;`语句,如`ALTER TABLE emp DROP CONSTRAINT emp...

    oracle基本约束语法

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

    Oracle定义约束 外键约束

    外键约束是一种用于保证两个表之间数据一致性的机制。当两个表存在关联时,通过在外键表(子表)中设置外键约束,可以确保该表中的特定字段(外键字段)只包含那些在主表(父表)的相应主键字段中存在的值。这样,就...

    oracle表结构生成工具

    Oracle表结构生成工具是一种实用程序,它允许用户利用Excel电子表格快速创建Oracle数据库的表结构。这个工具的主要目的是提高数据库设计的效率,特别是在处理大量数据表定义时。下面将详细介绍这个工具及其工作原理...

    第二部分 ORACLE 数据对象的分析1(表_约束_视图)

    从给定的文件信息中,我们可以深入探讨Oracle数据库中的数据对象,特别是表、约束和视图,这些都是构建和管理数据库的核心元素。 ### 表(Table) 表是数据库中最基础的数据存储结构,它由一系列行和列组成,每行...

    Oracle表类型表变量使用

    你可以选择添加约束,如主键或唯一键,来限制表类型中的数据。 接下来,我们讨论如何声明和使用表变量。表变量是基于已定义的表类型的实例,它们可以作为局部变量在PL/SQL块中声明。例如: ```sql DECLARE my_...

    ORACLE中临时表

    Oracle中的临时表是一种特殊的数据结构,用于存储会话或事务期间的数据,这些数据仅对当前会话可见,并在特定条件下自动清除。Oracle提供两种类型的临时表:事务型和会话型。 事务型临时表在事务开始时创建,插入的...

    Oracle的表结构转成Mysql的表结构

    本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数,并生成对应的MySQL创建表语句(DDL)。 #### 参数...

    oracle约束详解

    也可以在现有表上添加唯一性约束: ```sql ALTER TABLE Employees ADD CONSTRAINT emp_uk UNIQUE (EName, Phone); ``` 使用`USING INDEX`关键字可以为唯一性约束指定索引存储空间: ```sql ALTER TABLE Employees...

    Oracle 11i 表结构

    ### Oracle 11i 表结构详解 #### 一、Oracle 11i 概述 ...通过深入理解表结构、关系以及触发器、弹性域等高级特性的使用方法,开发者可以更好地利用Oracle 11i的强大功能,构建出高效稳定的应用系统。

    Oracle约束基本语法 修改表结构

    首先,Oracle约束可以分为五种类型: 1. **NOT NULL约束**:不允许字段值为空,确保了字段必须有值。 2. **UNIQUE约束**:确保字段中的值是唯一的,但允许有NULL值。 3. **PRIMARY KEY约束**:定义表的主键,它是一...

    Oracle数据库表生成C#实体类

    3. 数据注解:根据需要添加如`[Key]`(主键标识)、`[Required]`(非空约束)等特性,以提供更多的元数据信息。 例如,一个名为`Employees`的表,有`EmployeeID`(主键)、`FirstName`、`LastName`和`Position`等...

    oracle约束和索引笔记

    本笔记主要探讨了两个关键概念:约束和索引,这些都是Oracle数据库中的基础但至关重要的元素。 **1. 约束(Constraints)** 约束是Oracle数据库中用于确保数据完整性的规则。它们分为以下几种类型: - **非空约束...

    oracle创建表创建唯一索引

    以下将详细介绍如何创建学员信息表,创建唯一索引,以及如何修改表来添加主键和检查约束。 首先,我们来理解"创建学员信息表"。在Oracle中,我们可以使用`CREATE TABLE`语句来创建新的表。一个典型的学员信息表可能...

    Oracle 增加修改删除字段

    **添加约束**: ```sql ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束类型 (字段列表); ``` **示例**:向`student`表中添加一个名为`pk_student`的主键约束。 ```sql ALTER TABLE student ADD CONSTRAINT pk_...

    oracle 系统表大全

    - 约束与表相关联,可以通过`CREATE TABLE`或`ALTER TABLE`命令添加、修改或删除。 - **临时禁用约束**: - `ALTER TABLE book_example DISABLE CONSTRAINT book_example_1;`:暂时禁用表`book_example`上的约束`...

    oracle约束键解析.docx

    - 已创建的表添加主键约束:`ALTER TABLE table1 ADD PRIMARY KEY (列名1, 列名2)` - 表创建时同时设定主键:`CREATE TABLE table1 (列名1 数据类型 是否为空 PRIMARY KEY, 列名2 数据类型 是否为空)` 2. 唯一...

    oracle约束

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

Global site tag (gtag.js) - Google Analytics