PostgreSQL的约束
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PostgreSQL的约束,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2022字,纯文字阅读大概需要3分钟。
内容图文
1. 检查约束
设置某个字段里的数值必须满足约束表达式的条件。
例:限制人的年龄在0~120之间,语句如下:
create table person(name varchar(40),age int check (age >=0 and age<=120));
insert into person values(‘name1‘,120);
insert into person values(‘name1‘,121);
执行结果如下,年龄字段超过120报错,提示受“person_age_check”的限制。
指定约束的名称,需要使用关键词“constraint”,示例如下
create table person(name varchar(40),age int constraint age_chk check (age >=0 and age<=120));
一个检查约束可以引用多个列,例如:存储商品平常价格和打折价格,而打折价格低于平常价格,示例如下
create table products (
product_no integer,
name text,
price numeric check (price > 0),
dazhe_price numeric check (dazhe_price > 0),
constraint dazhe_price_chk check (price >dazhe_price)
);
在上面的例子中,针对价格(price > 0)和打折后价格(dazhe_price > 0)的约束称为列约束,这两个约束依附于特定的列,但第三个约束(price >dazhe_price)独立于任何一个列定义,称为表约束。
执行结果如下:
注:oracle下,检查约束可以禁用,但在PostgreSQL下却不可以禁用。
2. 非空约束
非空约束仅仅指定一个列中不会有空值。非空约束等价于检查约束(column_name is not null)。示例如下:
create table products (
product_no integer,
name text,
price numeric not null,
dazhe_price numeric check (dazhe_price > 0),
constraint dazhe_price_chk check (price >dazhe_price)
);
3. 唯一约束
唯一约束保证在一列或一组列中保存的数据是唯一值,示例如下:
create table products (
product_no integer UNIQUE,
name text,
price numeric
);
为一组列定义一个唯一约束,示例如下:
create table products (
product_no integer,
name text,
price numeric,
UNIQUE(product_no, price)
);
为唯一约束指定名称:
create table products (
product_no integer CONSTRAINT pro_no_unique UNIQUE,
name text,
price numeric
);
PostgreSQL的约束
标签:table ble name height oracle sql person integer gre
本文系统来源:http://www.cnblogs.com/baisha/p/8082781.html
内容总结
以上是互联网集市为您收集整理的PostgreSQL的约束全部内容,希望文章能够帮你解决PostgreSQL的约束所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。