CREATE DOMAIN(7) | SQL Commands | CREATE DOMAIN(7) |
CREATE DOMAIN - 定義一個新域
CREATE DOMAIN name [AS] data_type
[ DEFAULT expression ]
[ constraint [ ... ] ] where constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK (expression) }
CREATE DOMAIN 創建一個新的數據域。 定義域的用戶成爲其所有者。
如果給出一個模式名稱(比如,CREATE
DOMAIN myschema.mydomain ...),
那麼該域是在指定的模式中創建的。否則它會在當前模式中創建。
域名字必需在其所在模式中的現有類型和域中唯一。
域可以便於我們把不同表之間的公共域抽取到一個位置進行維護。
比如,一個電子郵件地址字段可能在多個表中使用,所有的都是同樣的屬性。
我們可以定義並使用一個域,而不是分別設置每個表的約束。
缺省表達式將用在任何不爲該字段聲明數值的插入操作。
如果爲特定的字段聲明瞭缺省值,那麼它覆蓋任何和該域相關聯的缺省值。
然後,域的缺省覆蓋任何與下層數據類型相關的缺省。
這個子句只是用於和非標準的
SQL 數據庫兼容用。
我們不建議在新的應用中使用它。
目前,CHECK
表達式不能包含子查詢,也不能引用除
VALUE 之外的變量。
這個例子創建了 country_code 數據類型並且在一個表定義中使用了該類型:
CREATE DOMAIN country_code char(2) NOT NULL; CREATE TABLE countrylist (id integer, country country_code);
CREATE DOMAIN 命令符合 SQL 標準。
DROP DOMAIN [drop_domain(7)]
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2003-11-02 | SQL - Language Statements |