create_domain man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

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.mydomain
       ...)  then  the domain is created in the specified schema. Otherwise 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.

	      Caution:	At  present,  declaring	 a  function result value as a
	      domain is pretty dangerous, because none of the procedural  lan‐
	      guages  enforce domain constraints on their results. You'll need
	      to make sure that the function code  itself  respects  the  con‐
	      straints.	 In PL/pgSQL, one possible workaround is to explicitly
	      cast the result value to the domain type	when  you  return  it.
	      PL/pgSQL does not enforce domain constraints for local variables
	      within functions, either.

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	 asso‐
	      ciated  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  us_postal_code data type and then uses the
       type in a table definition. A regular expression test is used to verify
       that the value looks like a valid US postal code.

       CREATE DOMAIN us_postal_code AS TEXT
       CHECK(
	  VALUE ~ '^\\d{5}$'
       OR VALUE ~ '^\\d{5}-\\d{4}$'
       );

       CREATE TABLE us_snail_addy (
	 address_id SERIAL NOT NULL PRIMARY KEY
       , street1 TEXT NOT NULL
       , street2 TEXT
       , street3 TEXT
       , city TEXT NOT NULL
       , postal us_postal_code NOT NULL
       );

COMPATIBILITY
       The command CREATE DOMAIN conforms to the SQL standard.

SEE ALSO
       ALTER DOMAIN [alter_domain(7)], DROP DOMAIN [drop_domain(l)]

SQL - Language Statements	  2005-11-05		       CREATE DOMAIN()
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
...................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net