Imported upstream version 1.5
[manpages-zh.git] / src / man7 / create_conversion.7
blob1cd8ef60f4c5454b24386869877b728aed4c741d
1 .\\" auto-generated by docbook2man-spec $Revision: 1.1 $
2 .TH "CREATE CONVERSION" "7" "2003-11-02" "SQL - Language Statements" "SQL Commands"
3 .SH NAME
4 CREATE CONVERSION \- 定义一个用户定义的码制转换
6 .SH SYNOPSIS
7 .sp
8 .nf
9 CREATE [DEFAULT] CONVERSION \fIname\fR
10     FOR \fIsource_encoding\fR TO \fIdest_encoding\fR FROM \fIfuncname\fR
11 .sp
12 .fi
13 .SH "DESCRIPTION 描述"
14 .PP
15 \fBCREATE CONVERSION\fR 定义一种新的编码转换。 转换的名字可以用在 convert 函数内部声明特定的编码转换。 同样,标记为 DEFAULT 的转换可以用于在前端和后端之间的自动编码转换。 出于这个原因,我们必须定义两种转换,从编码 A 到 B 以及从编码 B 到 A。
16 .PP
17  为了可以创建转换,你必须在函数上有EXECUTE权限并且有在目标模式上的CREATE权限。
18 .SH "PARAMETERS 参数"
19 .TP
20 \fBDEFAULT\fR
21 DEFAULT 子句表示这种转换对于从这种源编码到目的编码的情况是缺省的。在一个模式里每个编码对应该只有一个缺省编码。
22 .TP
23 \fB\fIname\fB\fR
24  转换的名字。转换名可以用模式修饰。如果没有,那么转换就在当前模式中定义。转换名在一个模式里必须唯一。
25 .TP
26 \fB\fIsource_encoding\fB\fR
27  源编码名。
28 .TP
29 \fB\fIdest_encoding\fB\fR
30  目的编码名。
31 .TP
32 \fB\fIfuncname\fB\fR
33  用于执行转换的函数。这个函数名可以用模式名修饰。 如果没有,那么将从路径中找出这个函数。
35  此函数必须有如下的样子:
36 .sp
37 .nf
38 conv_proc(
39     integer,  -- 源编码 ID
40     integer,  -- 目的编码 ID
41     cstring,  -- 源字串(空结尾的 C 字串)
42     cstring,  -- 目的字串(空结尾的 C 字串)
43     integer   -- 源字串长度
44 ) RETURNS void;
45 .sp
46 .fi
47 .SH "NOTES 注意"
48 .PP
49  使用 DROP CONVERSION 删除用户定义的转换。
50 .PP
51  创建转换所需要的权限可能在未来的版本中改变。
52 .SH "EXAMPLES 例子"
53 .PP
54  用 myfunc 创建一个从编码 UNICODE 到 LATIN1 的转换:
55 .sp
56 .nf
57 CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc;
58 .sp
59 .fi
60 .SH "COMPATIBILITY 兼容性"
61 .PP
62 \fBCREATE CONVERSION\fR
63 是 PostgreSQL 的扩展。 在 SQL 标准里没有CREATE CONVERSION 语句。
64 .SH "SEE ALSO 参见"
65 ALTER CONVERSION [\fBalter_conversion\fR(7)], CREATE FUNCTION [\fBcreate_function\fR(l)], DROP CONVERSION [\fBdrop_conversion\fR(l)]
66 .SH "译者"
67 .B Postgresql 中文网站
68 .B 何伟平 <laser@pgsqldb.org>