.\" auto-generated by docbook2man-spec $Revision: 1.1 $ .TH "ALTER DOMAIN" "7" "2003-11-02" "SQL - Language Statements" "SQL Commands" .SH NAME ALTER DOMAIN \- 改變一個域的定義 .SH SYNOPSIS .sp .nf ALTER DOMAIN \fIname\fR { SET DEFAULT \fIexpression\fR | DROP DEFAULT } ALTER DOMAIN \fIname\fR { SET | DROP } NOT NULL ALTER DOMAIN \fIname\fR ADD \fIdomain_constraint\fR ALTER DOMAIN \fIname\fR DROP CONSTRAINT \fIconstraint_name\fR [ RESTRICT | CASCADE ] ALTER DOMAIN \fIname\fR OWNER TO \fInew_owner\fR .sp .fi .SH "DESCRIPTION 描述" .PP \fBALTER DOMAIN\fR 修改一個現有域的定義。 它有幾種子形式: .TP \fBSET/DROP DEFAULT\fR 這些形式設定或者刪除一個域的預設值。請注意預設只適用於隨後的 INSERT 命令;他們並不影響使用該域已經在表中的行。 .TP \fBSET/DROP NOT NULL\fR 這些形式改變一個域是否標記為允許 NULL 值或者是拒絕 NULL 值。 在使用域的欄位包含非空的值的時候,你只可以 SET NOT NULL。 .TP \fBADD \fIdomain_constraint\fB\fR 這種形式向域中增加一種新的約束,使用的語法和 CREATE DOMAIN [\fBcreate_domain\fR(7)] 一樣。這樣做只有在所有使用域的欄位滿足新的約束的條件下才能成功。 .TP \fBDROP CONSTRAINT\fR 這種形式刪除一個域上的約束。 .TP \fBOWNER\fR 這種形式把域的所有者改變為另外一個使用者。 .PP 要使用 ALTER DOMAIN,你必須擁有該域;但是使用 ALTER DOMAIN OWNER 的時候你必須是資料庫超級使用者。 .PP .SH "PARAMETERS 引數" .PP .TP \fB\fIname\fB\fR 一個要修改的現有域的名字(可以有模式修飾)。 .TP \fB\fIdomain_constraint\fB\fR 域的新的域約束。 .TP \fB\fIconstraint_name\fB\fR 要刪除的現有約束。 .TP \fBCASCADE\fR 自動刪除依賴這個物件的約束。 .TP \fBRESTRICT\fR 如果有任何依賴物件,則拒絕刪除約束。這是預設行為。 .TP \fB\fInew_owner\fB\fR 域的新所有者的使用者名稱。 .PP .SH "EXAMPLES 例子" .PP 給一個域增加一個 NOT NULL 約束: .sp .nf ALTER DOMAIN zipcode SET NOT NULL; .sp .fi 從一個域裡刪除一個 NOT NULL 約束: .sp .nf ALTER DOMAIN zipcode DROP NOT NULL; .sp .fi .PP 給一個域裡增加一個檢查約束: .sp .nf ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5); .sp .fi .PP 從一個域裡刪除一個檢查約束: .sp .nf ALTER DOMAIN zipcode DROP CONSTRAINT zipchk; .sp .fi .SH "COMPATIBILITY 相容性" .PP \fBALTER DOMAIN\fR 語句與 SQL99 相容,除 OWNER 變種之外,這個變種是 PostgreSQL 的擴充套件。 .SH "譯者" .B Postgresql 中文網站 .B 何偉平 .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR