create_domain

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
CREATE DOMAIN()			 SQL Commands		      CREATE DOMAIN()



NAME
       CREATE DOMAIN - define a new 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 creates a new data domain. The user who defines a domain
       becomes its owner.

       If a schema name is given (for example, CREATE  DOMAIN  myschema.mydo-
       main  ...)  then the domain is created in the specified schema. Other-
       wise it is created in the current schema.  The  domain  name  must  be
       unique among the types and domains existing in its schema.

       Domains are useful for abstracting common fields between tables into a
       single location for maintenance. For example, an email address  column
       may  be used in several tables, all with the same properties. Define a
       domain and use that rather than setting up  each	 table’s  constraints
       individually.

PARAMETERS
       name   The  name	 (optionally schema-qualified) of a domain to be cre-
	      ated.

       data_type
	      The underlying data type of the domain. This may include	array
	      specifiers.

       DEFAULT expression
	      The DEFAULT clause specifies a default value for columns of the
	      domain data type. The value  is  any  variable-free  expression
	      (but subqueries are not allowed).	 The data type of the default
	      expression must match the	 data  type  of	 the  domain.  If  no
	      default  value is specified, then the default value is the null
	      value.

	      The default expression will be used  in  any  insert  operation
	      that  does  not  specify	a  value for the column. If a default
	      value is defined for a  particular  column,  it  overrides  any
	      default associated with the domain. In turn, the domain default
	      overrides any default value associated with the underlying data
	      type.

       CONSTRAINT constraint_name
	      An optional name for a constraint. If not specified, the system
	      generates a name.

       NOT NULL
	      Values of this domain are not allowed to be null.

       NULL   Values of this domain are allowed	 to  be	 null.	This  is  the
	      default.

	      This clause is only intended for compatibility with nonstandard
	      SQL databases. Its use is discouraged in new applications.

       CHECK (expression)
	      CHECK clauses specify integrity constraints or tests which val-
	      ues  of  the  domain  must satisfy.  Each constraint must be an
	      expression producing a Boolean result. It should use  the	 name
	      VALUE to refer to the value being tested.

	      Currently,  CHECK	 expressions  cannot  contain  subqueries nor
	      refer to variables other than VALUE.

EXAMPLES
       This example creates the country_code data type and then uses the type
       in a table definition:

       CREATE DOMAIN country_code char(2) NOT NULL;
       CREATE TABLE countrylist (id integer, country country_code);


COMPATIBILITY
       The command CREATE DOMAIN conforms to the SQL standard.

SEE ALSO
       DROP DOMAIN [drop_domain(7)]



SQL - Language Statements	  2008-01-03		      CREATE DOMAIN()