Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

create_domain(7) [suse man page]

CREATE 
DOMAIN(7) SQL Commands CREATE DOMAIN(7) 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 domain. A domain is essentially a data type with optional constraints (restrictions on the allowed set of val- ues). 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 constraints on fields into a single location for maintenance. For example, several tables might contain email address columns, all requiring the same CHECK constraint to verify the address syntax. Define a domain rather than setting up each table's constraint individually. PARAMETERS
name The name (optionally schema-qualified) of a domain to be created. data_type The underlying data type of the domain. This can 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 values of the domain must satisfy. Each constraint must be an expression producing a Boolean result. It should use the key word 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 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(7)] SQL - Language Statements 2010-05-14 CREATE DOMAIN(7)

Check Out this Related Man Page

CREATE TEXT SEARCH 
TEMPLATE(7) SQL Commands CREATE TEXT SEARCH TEMPLATE(7) NAME
CREATE TEXT SEARCH TEMPLATE - define a new text search template SYNOPSIS
CREATE TEXT SEARCH TEMPLATE name ( [ INIT = init_function , ] LEXIZE = lexize_function ) DESCRIPTION
CREATE TEXT SEARCH TEMPLATE creates a new text search template. Text search templates define the functions that implement text search dic- tionaries. A template is not useful by itself, but must be instantiated as a dictionary to be used. The dictionary typically specifies parameters to be given to the template functions. If a schema name is given then the text search template is created in the specified schema. Otherwise it is created in the current schema. You must be a superuser to use CREATE TEXT SEARCH TEMPLATE. This restriction is made because an erroneous text search template definition could confuse or even crash the server. The reason for separating templates from dictionaries is that a template encapsulates the ``unsafe'' aspects of defining a dictionary. The parameters that can be set when defining a dictionary are safe for unprivileged users to set, and so creating a dictionary need not be a privileged operation. Refer to in the documentation for further information. PARAMETERS
name The name of the text search template to be created. The name can be schema-qualified. init_function The name of the init function for the template. lexize_function The name of the lexize function for the template. The function names can be schema-qualified if necessary. Argument types are not given, since the argument list for each type of function is predetermined. The lexize function is required, but the init function is optional. The arguments can appear in any order, not only the one shown above. COMPATIBILITY
There is no CREATE TEXT SEARCH TEMPLATE statement in the SQL standard. SEE ALSO
ALTER TEXT SEARCH TEMPLATE [alter_text_search_template(7)], DROP TEXT SEARCH TEMPLATE [drop_text_search_template(7)] SQL - Language Statements 2010-05-14 CREATE TEXT SEARCH TEMPLATE(7)
Man Page