好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Oracle PL / SQL约束

约束是表及其列的规则,用于约束可以插入,更新或删除的数据的方式和数据。

约束对列和表都可用。

 

列约束

列可以具有定义可以将什么值列表输入到其中的规则。

NOT NULL约束意味着列必须具有值。

它不能为未知,或为空。

下表使用DDL创建具有NOT NULL列约束的作者表。

 CREATE TABLE authors ( 
    id number(38) not null, 
    name varchar2(100) not null, 
    birth_date date, 
    gender varchar2(30) 
);  

 

表约束

表可以具有强制列值的唯一性和与其他表中的其他行的关系的有效性的规则。

下面仅讨论三个:唯一键,主键和外键。

 

唯一键约束

唯一键约束是一个或多个列上的规则,它们要求值的组合是唯一的。

唯一索引或唯一约束中的列可以为NULL。

以下代码显示了根据作者表创建唯一约束的DDL。

 ALTER TABLE authors 
                 ADD CONSTRAINT authors_uk1 
                 UNIQUE ( name, birth_date, gender );  

 

主键约束

主键约束是一个或多个列上的规则,它们要求值的组合是唯一的。

您应该为数据库中的每个表定义主键约束。

以下代码显示了DDL以针对作者表创建主键约束。

 ALTER TABLE authors ADD 
 CONSTRAINT authors_pk 
 primary key ( id );  

创建主键约束的语法如下:

 ALTER TABLE <table_name> ADD 
CONSTRAINT <constraint_name> 
PRIMARY KEY ( 
<column_name_1>, 
<column_name_2>,... 
<column_name_N> );  

其中<table_name>是表的名称,<constraint_name>是主键约束的名称,<column_name>是要在约束中使用的列。

 

外键约束

外键是来自另一个表的一个或多个列,指向或连接到第一个表的主键。

外键是用外键约束定义的。

外键约束是针对从属表或子表定义的。

以下代码显示了根据作者出版品表创建外键约束的DDL。

 ALTER TABLE author_books ADD 
 CONSTRAINT author_books_fk1 
 FOREIGN KEY (author_id) 
 REFERENCES authors (id);  

创建外键约束的语法如下:

 ALTER TABLE <table_name> ADD 
CONSTRAINT <constraint_name> 
FOREIGN KEY ( 
<column_name_1>, 
<column_name_2>,... 
<column_name_N> ) 
REFERENCES <referenced_table_name> ( 
<column_name_1>, 
<column_name_2>,... 
<column_name_N> );  

<table_name>是要约束的表的名称,<constraint_name>是外键约束的名称,<referenced_table_name>是要引用的表的名称,<column_name>是同时属于引用表的键,并且对应于从属表中具有相同值的列。

以下代码显示了根据作者出版物表创建主键约束的DDL。

 ALTER TABLE author_books ADD 
CONSTRAINT author_books_pk 
PRIMARY KEY ( id);  

查看更多关于Oracle PL / SQL约束的详细内容...

  阅读:25次

上一篇

下一篇

第1节:Oracle PL / SQL CASE 语句    第2节:Oracle PL / SQL CHAR VARCHAR2    第3节:Oracle PL / SQL INTERVAL数据类型    第4节:Oracle PL / SQL loop循环    第5节:Oracle PL / SQL for loop循环    第6节:Oracle PL / SQL goto 语句    第7节:Oracle PL / SQL update更新数据    第8节:Oracle PL / SQL包    第9节:Oracle PL / SQL 存储过程    第10节:Oracle PL / SQL 函数    第11节:Oracle PL / SQL变量    第12节:Oracle PL / SQL变量范围    第13节:Oracle PL / SQL TIMESTAMP数据类型    第14节:Oracle PL / SQL 聚合函数大全    第15节:Oracle PL/SQL Views 视图    第16节:Oracle PL / SQL 表 table    第17节:Oracle PL/SQL Delete删除数据    第18节:Oracle PL/SQL Select 查询    第19节:Oracle PL/SQL 教程    第20节:Oracle PL / SQL注释    第21节:Oracle PL / SQL触发器Triggers    第22节:Oracle PL / SQL变量值    第23节:Oracle PL / SQL块结构    第24节:Oracle PL / SQL关联数组    第25节:Oracle PL / SQL文字    第26节:Oracle PL / SQL参数    第27节:Oracle PL / SQL运算符    第28节:Oracle PL/SQL NUMBER    第29节:Oracle PL/SQL if 语句    第30节:Oracle PL/SQL while循环    第31节:Oracle PL / SQL约束    第32节:Oracle PL / SQL 插入insert    第33节:Oracle PL / SQL数据类型    第34节:PL / SQL 分析函数大全