• CREATE DOMAIN


    SYNOPSIS

    CREATE DOMAIN name [AS] data_type
        [ DEFAULT expression ]
        [ constraint [ ... ] ]
    
    where constraint is:
    
    [ CONSTRAINT constraint_name ]
    { NOT NULL | NULL | CHECK (expression) }
    
    

    DESCRIPTION 描述

    CREATE DOMAIN 创建一个新的数据域。 定义域的用户成为其所有者。


     如果给出一个模式名称(比如,CREATE DOMAIN myschema.mydomain ...), 那么该域是在指定的模式中创建的。否则它会在当前模式中创建。 域名字必需在其所在模式中的现有类型和域中唯一。


     域可以便于我们把不同表之间的公共域抽取到一个位置进行维护。 比如,一个电子邮件地址字段可能在多个表中使用,所有的都是同样的属性。 我们可以定义并使用一个域,而不是分别设置每个表的约束。

    PARAMETERS 参数

    name

     要创建的域名字(可以有模式修饰)。
    data_type

     域的下层数据类型。它可以包含数组声明字。
    DEFAULT expression
    DEFAULT 子句为域数据类型的字段声明一个缺省值。 该值是任何不含变量的表达式(但不允许子查询)。 缺省表达式的数据类型必需匹配域的数据类型。如果没有声明缺省值, 那么缺省值就是空值。


     缺省表达式将用在任何不为该字段声明数值的插入操作。 如果为特定的字段声明了缺省值,那么它覆盖任何和该域相关联的缺省值。 然后,域的缺省覆盖任何与下层数据类型相关的缺省。

    CONSTRAINT constraint_name

     一个约束的可选名称。如果没有声明,系统生成一个名字。
    NOT NULL

     这个域的数值不允许为 NULL。
    NULL

     这个域的数值允许为空。它是缺省。
     
     这个子句只是用于和非标准的 SQL 数据库兼容用。 我们不建议在新的应用中使用它。
    CHECK (expression)

     CHECK 子句声明完整性约束或者是测试,域地数值必须满足这些要求。 每个约束必须是一个生成一个布尔结果的表达式。它应该使用名字 VALUE  来引用被测试的数值。


     目前,CHECK 表达式不能包含子查询,也不能引用除 VALUE 之外的变量。

    EXAMPLES 例子


     这个例子创建了 country_code 数据类型并且在一个表定义中使用了该类型:

    CREATE DOMAIN country_code char(2) NOT NULL;
    CREATE TABLE countrylist (id integer, country country_code);
    
  • 相关阅读:
    HDU-3336-Count the string(扩展KMP)
    洛谷-P3805-Manacher模板
    洛谷-p5410-扩展KMP模板
    HDU-2594-Simpsons' Hidden Talents(kmp, 扩展kmp)
    POJ-3080-Blue jeans(KMP, 暴力)
    [办公应用]两个单独的列数据快速变为两列匹配关联数据
    [办公应用]如何将单词中的部分字母加下划线
    [办公应用]word 2007:全屏快捷键,让复制图片保持原样大小(office 全屏快捷键)
    [办公自动化]如何让excel图表标签中显示最新值数据
    [计算机故障处理]无法访问网络共享资源
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11077515.html
Copyright © 2020-2023  润新知