OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I686LINUX / util / I686LINUX / doc / postgresql / html / sql-alterdomain.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >ALTER DOMAIN</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REV="MADE"
10 HREF="mailto:pgsql-docs@postgresql.org"><LINK
11 REL="HOME"
12 TITLE="PostgreSQL 7.4.1 Documentation"
13 HREF="index.html"><LINK
14 REL="UP"
15 TITLE="SQL Commands"
16 HREF="sql-commands.html"><LINK
17 REL="PREVIOUS"
18 TITLE="ALTER DATABASE"
19 HREF="sql-alterdatabase.html"><LINK
20 REL="NEXT"
21 TITLE="ALTER FUNCTION"
22 HREF="sql-alterfunction.html"><LINK
23 REL="STYLESHEET"
24 TYPE="text/css"
25 HREF="stylesheet.css"><META
26 NAME="creation"
27 CONTENT="2003-12-22T03:48:47"></HEAD
28 ><BODY
29 CLASS="REFENTRY"
30 ><DIV
31 CLASS="NAVHEADER"
32 ><TABLE
33 SUMMARY="Header navigation table"
34 WIDTH="100%"
35 BORDER="0"
36 CELLPADDING="0"
37 CELLSPACING="0"
38 ><TR
39 ><TH
40 COLSPAN="5"
41 ALIGN="center"
42 VALIGN="bottom"
43 >PostgreSQL 7.4.1 Documentation</TH
44 ></TR
45 ><TR
46 ><TD
47 WIDTH="10%"
48 ALIGN="left"
49 VALIGN="top"
50 ><A
51 HREF="sql-alterdatabase.html"
52 ACCESSKEY="P"
53 >Prev</A
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="left"
58 VALIGN="top"
59 ><A
60 HREF="sql-alterdatabase.html"
61 >Fast Backward</A
62 ></TD
63 ><TD
64 WIDTH="60%"
65 ALIGN="center"
66 VALIGN="bottom"
67 ></TD
68 ><TD
69 WIDTH="10%"
70 ALIGN="right"
71 VALIGN="top"
72 ><A
73 HREF="sql-alterfunction.html"
74 >Fast Forward</A
75 ></TD
76 ><TD
77 WIDTH="10%"
78 ALIGN="right"
79 VALIGN="top"
80 ><A
81 HREF="sql-alterfunction.html"
82 ACCESSKEY="N"
83 >Next</A
84 ></TD
85 ></TR
86 ></TABLE
87 ><HR
88 ALIGN="LEFT"
89 WIDTH="100%"></DIV
90 ><H1
91 ><A
92 NAME="SQL-ALTERDOMAIN"
93 ></A
94 >ALTER DOMAIN</H1
95 ><DIV
96 CLASS="REFNAMEDIV"
97 ><A
98 NAME="AEN34780"
99 ></A
100 ><H2
101 >Name</H2
102 >   ALTER DOMAIN
103   &nbsp;--&nbsp;   change the definition of a domain
104   </DIV
105 ><A
106 NAME="AEN34783"
107 ></A
108 ><DIV
109 CLASS="REFSYNOPSISDIV"
110 ><A
111 NAME="AEN34785"
112 ></A
113 ><H2
114 >Synopsis</H2
115 ><PRE
116 CLASS="SYNOPSIS"
117 >ALTER DOMAIN <VAR
118 CLASS="REPLACEABLE"
119 >name</VAR
120 >
121     { SET DEFAULT <VAR
122 CLASS="REPLACEABLE"
123 >expression</VAR
124 > | DROP DEFAULT }
125 ALTER DOMAIN <VAR
126 CLASS="REPLACEABLE"
127 >name</VAR
128 >
129     { SET | DROP } NOT NULL
130 ALTER DOMAIN <VAR
131 CLASS="REPLACEABLE"
132 >name</VAR
133 >
134     ADD <VAR
135 CLASS="REPLACEABLE"
136 >domain_constraint</VAR
137 >
138 ALTER DOMAIN <VAR
139 CLASS="REPLACEABLE"
140 >name</VAR
141 >
142     DROP CONSTRAINT <VAR
143 CLASS="REPLACEABLE"
144 >constraint_name</VAR
145 > [ RESTRICT | CASCADE ]
146 ALTER DOMAIN <VAR
147 CLASS="REPLACEABLE"
148 >name</VAR
149 >
150     OWNER TO <VAR
151 CLASS="REPLACEABLE"
152 >new_owner</VAR
153
154   </PRE
155 ></DIV
156 ><DIV
157 CLASS="REFSECT1"
158 ><A
159 NAME="AEN34796"
160 ></A
161 ><H2
162 >Description</H2
163 ><P
164 >   <TT
165 CLASS="COMMAND"
166 >ALTER DOMAIN</TT
167 > changes the definition of an existing domain.
168    There are several sub-forms:
169   </P
170 ><P
171 ></P
172 ><DIV
173 CLASS="VARIABLELIST"
174 ><DL
175 ><DT
176 >SET/DROP DEFAULT</DT
177 ><DD
178 ><P
179 >      These forms set or remove the default value for a domain. Note
180       that defaults only apply to subsequent <TT
181 CLASS="COMMAND"
182 >INSERT</TT
183 >
184       commands; they do not affect rows already in a table using the domain.
185      </P
186 ></DD
187 ><DT
188 >SET/DROP NOT NULL</DT
189 ><DD
190 ><P
191 >      These forms change whether a domain is marked to allow NULL
192       values or to reject NULL values.  You may only <TT
193 CLASS="LITERAL"
194 >SET NOT NULL</TT
195 >
196       when the columns using the domain contain no null values.
197      </P
198 ></DD
199 ><DT
200 >ADD <VAR
201 CLASS="REPLACEABLE"
202 >domain_constraint</VAR
203 ></DT
204 ><DD
205 ><P
206 >      This form adds a new constraint to a domain using the same syntax as
207       <A
208 HREF="sql-createdomain.html"
209 ><I
210 >CREATE DOMAIN</I
211 ></A
212 >.
213       This will only succeed if all columns using the domain satisfy the
214       new constraint.
215      </P
216 ></DD
217 ><DT
218 >DROP CONSTRAINT</DT
219 ><DD
220 ><P
221 >      This form drops constraints on a domain.
222      </P
223 ></DD
224 ><DT
225 >OWNER</DT
226 ><DD
227 ><P
228 >      This form changes the owner of the domain to the specified user.
229      </P
230 ></DD
231 ></DL
232 ></DIV
233 ><P
234 >   You must own the domain to use <TT
235 CLASS="COMMAND"
236 >ALTER DOMAIN</TT
237 >; except for
238    <TT
239 CLASS="COMMAND"
240 >ALTER DOMAIN OWNER</TT
241 >, which may only be executed by a superuser.
242   </P
243 ></DIV
244 ><DIV
245 CLASS="REFSECT1"
246 ><A
247 NAME="AEN34828"
248 ></A
249 ><H2
250 >Parameters</H2
251 ><P
252 >    <P
253 ></P
254 ></P><DIV
255 CLASS="VARIABLELIST"
256 ><DL
257 ><DT
258 ><VAR
259 CLASS="REPLACEABLE"
260 >name</VAR
261 ></DT
262 ><DD
263 ><P
264 >       The name (possibly schema-qualified) of an existing domain to
265         alter.
266        </P
267 ></DD
268 ><DT
269 ><VAR
270 CLASS="REPLACEABLE"
271 >domain_constraint</VAR
272 ></DT
273 ><DD
274 ><P
275 >       New domain constraint for the domain.
276        </P
277 ></DD
278 ><DT
279 ><VAR
280 CLASS="REPLACEABLE"
281 >constraint_name</VAR
282 ></DT
283 ><DD
284 ><P
285 >       Name of an existing constraint to drop.
286        </P
287 ></DD
288 ><DT
289 >CASCADE</DT
290 ><DD
291 ><P
292 >        Automatically drop objects that depend on the constraint.
293        </P
294 ></DD
295 ><DT
296 >RESTRICT</DT
297 ><DD
298 ><P
299 >        Refuse to drop the constraint if there are any dependent
300         objects. This is the default behavior.
301        </P
302 ></DD
303 ><DT
304 ><VAR
305 CLASS="REPLACEABLE"
306 >new_owner</VAR
307 ></DT
308 ><DD
309 ><P
310 >       The user name of the new owner of the domain.
311        </P
312 ></DD
313 ></DL
314 ></DIV
315 ><P>
316    </P
317 ></DIV
318 ><DIV
319 CLASS="REFSECT1"
320 ><A
321 NAME="AEN34860"
322 ></A
323 ><H2
324 >Examples</H2
325 ><P
326 >   To add a NOT NULL constraint to a domain:
327    </P><PRE
328 CLASS="PROGRAMLISTING"
329 >ALTER DOMAIN zipcode SET NOT NULL;
330    </PRE
331 ><P>
332    To remove a NOT NULL constraint from a domain:
333    </P><PRE
334 CLASS="PROGRAMLISTING"
335 >ALTER DOMAIN zipcode DROP NOT NULL;
336    </PRE
337 ><P>
338   </P
339 ><P
340
341    To add a check constraint to a domain:
342    </P><PRE
343 CLASS="PROGRAMLISTING"
344 >ALTER DOMAIN zipcode ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
345    </PRE
346 ><P>
347   </P
348 ><P
349
350    To remove a check constraint from a domain:
351    </P><PRE
352 CLASS="PROGRAMLISTING"
353 >ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
354    </PRE
355 ><P>
356   </P
357 ></DIV
358 ><DIV
359 CLASS="REFSECT1"
360 ><A
361 NAME="AEN34869"
362 ></A
363 ><H2
364 >Compatibility</H2
365 ><P
366 >   The <TT
367 CLASS="COMMAND"
368 >ALTER DOMAIN</TT
369 > statement is compatible with SQL99,
370    except for the <TT
371 CLASS="LITERAL"
372 >OWNER</TT
373 > variant, which is a
374    <SPAN
375 CLASS="PRODUCTNAME"
376 >PostgreSQL</SPAN
377 > extension.
378   </P
379 ></DIV
380 ><DIV
381 CLASS="NAVFOOTER"
382 ><HR
383 ALIGN="LEFT"
384 WIDTH="100%"><TABLE
385 SUMMARY="Footer navigation table"
386 WIDTH="100%"
387 BORDER="0"
388 CELLPADDING="0"
389 CELLSPACING="0"
390 ><TR
391 ><TD
392 WIDTH="33%"
393 ALIGN="left"
394 VALIGN="top"
395 ><A
396 HREF="sql-alterdatabase.html"
397 ACCESSKEY="P"
398 >Prev</A
399 ></TD
400 ><TD
401 WIDTH="34%"
402 ALIGN="center"
403 VALIGN="top"
404 ><A
405 HREF="index.html"
406 ACCESSKEY="H"
407 >Home</A
408 ></TD
409 ><TD
410 WIDTH="33%"
411 ALIGN="right"
412 VALIGN="top"
413 ><A
414 HREF="sql-alterfunction.html"
415 ACCESSKEY="N"
416 >Next</A
417 ></TD
418 ></TR
419 ><TR
420 ><TD
421 WIDTH="33%"
422 ALIGN="left"
423 VALIGN="top"
424 >ALTER DATABASE</TD
425 ><TD
426 WIDTH="34%"
427 ALIGN="center"
428 VALIGN="top"
429 ><A
430 HREF="sql-commands.html"
431 ACCESSKEY="U"
432 >Up</A
433 ></TD
434 ><TD
435 WIDTH="33%"
436 ALIGN="right"
437 VALIGN="top"
438 >ALTER FUNCTION</TD
439 ></TR
440 ></TABLE
441 ></DIV
442 ></BODY
443 ></HTML
444 >