Defining Domain-based Columns
Go Up to Defining Columns
When you create a table, you can set column attributes by using an existing domain definition that has been previously stored in the database. A domain is a global column definition. Domains must be created with the CREATE DOMAIN
statement before you can reference them to define columns locally. For information on how to create a domain, see Working with Domains.
Domain-based columns inherit all the characteristics of a domain, but the column definition can include a new default value, additional CHECK
constraints, or a collation clause that overrides the domain definition. It can also include additional column constraints. You can specify a NOT NULL
setting if the domain does not already define one.
Note
You cannot override the domain’s NOT NULL
setting with a local column definition.
For example, the following statement creates a table, COUNTRY
, referencing the domain, COUNTRYNAME
, which was previously defined with a data type of VARCHAR
(15):
CREATE TABLE COUNTRY (COUNTRY COUNTRYNAME NOT NULL PRIMARY KEY, CURRENCY VARCHAR(10) NOT NULL);