oracle 约束-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977224
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2006-12-29 16:43:22

oracle数据库可以以两种声明方式创建6种类型的约束。
  1>. not null constraint 保证数据值不为空。
  2>. unique constraint 保证该列或组合的多列值唯一,可以有部分值为空。
  3>. primary key constraint 是not null 和 unique的组合使用,也就是将这两种约束使用到同一列

上。
  4>. foreign key constraint 引用的值在另外一个表中也出现过。
  5>. check constraint 保证数据值在指定的条件中。
  6>. ref constraint 引用其它的表或对象类型。

两种方式是:
  1>. 在列内部定义, inline (not null constraint必须在inline定义,其它可以在外部定义。)
  2>. 在列外部定义, out-of-line

-----------------------------------------------------------
外部约束oracle语法:
out_of_line_constraint::=
[ constraint constraint_name ]
{ unique (column [, column ]...)
| primary key (column [, column ]...)
| foreign key (column [, column ]...)
     references_clause
| check (condition)
}
[ constraint_state ]

references_clause::=
references [ schema. ] { object_table | view }
[ (column [, column ]...) ]
[on delete { cascade | set null } ]
[ constraint_state ]

constraint_state::=
[ [ [ not ] deferrable ]
  [ initially { immediate | deferred } ]
| [ initially { immediate | deferred } ]
  [ [ not ] deferrable ]
]
[ rely | norely ]
[ using_index_clause ]
[ enable | disable ]
[ validate | novalidate ]
[ exceptions_clause ]

-------------------------------------------------------------------
unique constraint 限制:
  1>. 以下数据类型不可以使用unique constraint:
lob(clob, blob), long, long raw, varray, nested table, object, ref, timestamp with time

zone, or user-defined type. 可以使用到timestamp with local time zone类型中。
  2>. 复合unique键不可以超过32列。
  3>. 不可以在同一列或多列上同时使用primary key, unique constraint.
  4>. you cannot specify a unique key when creating a subview in an inheritance hierarchy.

the unique key can be specified only for the top-level (root) view.

primary key constraint 限制:
  1>. 一个表或视图只可以有一个主键。
  2>. lob(clob, blob), long, long raw, varray, nested table, bfile, ref, timestamp with time

zone, or user-defined type不可以是主键. timestamp with local time zone可以是主键。
  3>. 主键的长度不可以超过一个数据块。
  4>. 复合主键不能超过32列。
  5>. 不可以在一列或多列上同时有主键和唯一约束。
  6>. you cannot specify a primary key when creating a subview in an inheritance hierarchy.

the primary key can be specified only for the top-level (root) view.

foreign key constraint 限制:
  一个表或视图包含的外键被称为子对象,同时该表或视图包含的引用键称为父对象。外键的对象可以是

本身,这时子表(视图)和父表(视图)都其本身。如果没有指定父表(视图)中的外键,侧自动采用该

表的主键。
阅读(1643) | 评论(0) | 转发(0) |
0

上一篇:ora-01405

下一篇:gdb使用经验谈

给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图