📜  SQL |创建域

📅  最后修改于: 2022-05-13 01:54:52.968000             🧑  作者: Mango

SQL |创建域

用于:Postgre sql
CREATE DOMAIN 创建一个新域。域本质上是一种具有可选约束(对允许的值集的限制)的数据类型。定义域的用户成为其所有者。

域可用于将域的常见约束抽象到单个位置以进行维护。例如,几个表可能包含电子邮件地址列,都需要相同的 CHECK 约束来验证地址语法。定义一个域,而不是单独设置每个表的约束。

例子:

CREATE DOMAIN CPI_DATA AS REAL CHECK
(value >= 0 AND value <= 10);

现在 CPI_DATA 域已创建,我们可以在任何数据库表中的任何位置使用此域,如下所示:

CREATE TABLE student(
sid char(9) PRIMARY KEY,
name varchar(30),
cpi CPI_DATA
);

每次在学生表中添加数据时,cpi_data 都会检查约束。

示例 1:

Insert into student values (201501408,Raj,7.5); 
This will not violate the property of cpi. 

示例 2:

Insert into student values (201501188,Dhaval,12); 
错误。这将违反 cpi 的属性。