CREATE CONVERSION
CREATE CONVERSION - 定义新的编码转换
语法格式
CREATE [ DEFAULT ] CONVERSION name
FOR source_encoding TO dest_encoding FROM function_name
说明
DEFAULT
DEFAULT子句表示这个转换是从源编码到目标编码的默认 转换。在一个模式中对于每一个编码对,只应该有一个默认转换。
name
转换的名称,可以被模式限定。如果没有被模式限定,该转换被定义在 当前模式中。在一个模式中,转换名称必须唯一。
source_encoding
源编码名称。
dest_encoding
目标编码名称。
function_name
被用来执行转换的函数。函数名可以被模式限定。如果没有,将在路径 中查找该函数。 该函数必须具有一下的特征:
conv_proc( integer, -- 源编码 ID integer, -- 目标编码 ID cstring, -- 源字符串(空值终止的 C 字符串) internal, -- 目标(用一个空值终止的 C 字符串填充) integer -- 源字符串长度 ) RETURNS void;
注意事项
使用 DROP CONVERSION 删除用户定义的转换。
创建转换所需的权限可能会在将来的版本中更改。
示例
要使用 myfunc 创建从编码 UTF8 到 LATIN1 的转换:
CREATE CONVERSION myconv FOR 'UTF8' TO 'LATIN1' FROM myfunc;