跳转至

类型对话框

类型对话框

使用“类型”对话框注册自定义数据类型。

“类型”对话框通过以下对话框选项卡组织数据类型的开发:“常规”,“定义”和“安全性”。 “ SQL”选项卡显示由对话框选择生成的SQL代码。

类型对话框的常规选项卡

使用“常规”选项卡中的字段来标识定制数据类型:

  • 使用“名称”字段为该类型添加描述性名称。该名称将显示在sdAdmin树控件中。类型名称必须与同一架构中任何现有类型,域或表的名称不同。

  • 使用“所有者”旁边的下拉列表框选择将拥有该类型的角色。

  • 从“模式”字段中的下拉列表框中选择类型将驻留在其中的模式的名称。

  • 在注释字段中存储有关类型的注释。

单击“定义”选项卡以继续。

从“定义”选项卡上“类型”旁边的下拉列表框中选择一种数据类型;下面的面板更改为显示适用于所选数据类型的选项。使用面板中的字段来定义数据类型。

有五种数据类型:

  • 复合类型

  • 枚举类型

  • 范围类型

  • 外部类型(或基本类型)

  • 外壳类型

如果在“类型”字段中选择“复合”,则“定义”选项卡将显示“复合类型”面板:

键入对话框复合部分

单击添加图标(+)提供类型的属性。 “常规”面板上的字段是上下文相关的,可能已禁用。

  • 使用“成员名称”字段添加属性名称。

  • 使用“类型”字段中的下拉列表框选择数据类型。

  • 使用“长度/精度”字段可以指定非数字类型的最大长度,或数字类型中有效数字的总数。

  • 使用“比例”字段可指定小数点右边的位数。

  • 使用“排序规则”字段中的下拉列表框选择排序规则(如果适用)。

单击添加图标(+)定义其他成员;点击该行左侧的垃圾桶图标可丢弃一行。

如果在“类型”字段中选择“枚举”,则“定义”选项卡将显示“枚举类型”面板:

类型对话框枚举部分

单击添加图标(+),以提供该类型的标签。

  • 使用“标签”字段添加标签,标签的长度必须小于64个字节。

每次选择后单击添加图标(+),以创建其他标签;要丢弃标签,请点击该行左侧的垃圾桶图标。

如果选择“外部”,则“定义”选项卡将显示“外部类型”面板:

键入对话框外部部分

在必需选项卡上:

  • 使用“输入功能”字段旁边的下拉列表框添加一个输入函数。 输入函数将类型的外部文本表示形式转换为由操作员和为该类型定义的函数使用的内部表示形式。

  • 使用“输出功能”字段旁边的下拉列表框添加输出函数。 输出函数将运算符和为此类型定义的函数使用的类型内部表示形式转换为类型的外部文本表示形式。

在可选-1选项卡上:

  • 使用可选的接收功能字段旁边的下拉列表框,选择一个receive_function。可选的receive_function将类型的外部二进制表示形式转换为内部表示形式。如果未提供此功能,则该类型不能参与二进制输入。

  • 使用可选的“发送功能”字段旁边的下拉列表框选择send_function。可选的send_function从内部表示形式转换为外部二进制表示形式。如果未提供此功能,则该类型不能参与二进制输出。

  • 在功能字段选项卡中的可选Typmod旁边,使用下拉列表框选择type_modifier_输入函数。

  • 使用可选的Typmod输出功能字段选项卡旁边的下拉列表框选择type_modifier_输出函数。可以省略type_modifier_输出函数,在这种情况下,默认显示格式是括号内存储的typmod整数值。

  • 使用可选的内部长度来指定内部表示的值。

  • 开关以指定内部表示形式为可变长度(VARIABLE)。默认值为固定长度的正整数。

  • 如果数据类型的列默认为空值以外的其他值,请在可选的默认字段中指定一个默认值。使用DEFAULT关键字指定默认值。 (默认值可以由附加到特定列的显式DEFAULT子句覆盖。)

  • 使用可选的“分析功能”字段旁边的下拉列表框,选择一个功能,用于对数据类型的列执行特定于类型的统计信息收集。

  • 使用可选的类别类型字段旁边的下拉列表框可帮助控制在模棱两可的情况下将应用哪种隐式强制转换。

  • 切换到“是”以指定首选的类别类型。默认为“否”。

在“可选2”选项卡上:

  • 使用可选的“元素类型”字段旁边的下拉列表框来指定数据类型。

  • 使用可选的Delimiter字段来指示在此数据类型的数组的外部表示形式中的值之间使用的定界符。默认的分隔符是逗号(,)。注意,分隔符与数组元素类型相关联,而不与数组类型本身相关联。

  • 使用“对齐方式类型”旁边的下拉列表框来指定数据类型所需的存储对齐方式。允许的值(char,int2,int4和double)对应于1、2、4或8个字节边界上的对齐。

  • 使用可选的存储类型旁边的下拉列表框,选择存储数据的策略。

  • 切换到“是”以覆盖现有的数据类型值。默认为“否”。

  • 切换到“是”以指定列定义,并且该类型的表达式可以通过使用COLLATE子句来携带排序规则信息。默认为“否”。

如果在“类型”字段中选择“范围”,则“定义”选项卡将显示“范围”面板。 “范围”面板上的字段是上下文相关的,可能已禁用。

类型对话框范围部分

  • 使用“子类型”旁边的下拉列表框选择一个关联的b树运算符类(以确定范围类型的值的顺序)。

  • 使用“子类型”运算符类别旁边的下拉列表框可以使用非默认运算符类别。

  • 如果子类型是可排序的,请使用“排序规则”旁边的下拉列表框在范围的排序中使用非默认排序规则。

  • 使用Canonical函数旁边的下拉列表框将范围值转换为规范形式。

  • 使用Sub-type diff function旁边的下拉列表框选择用户定义的subtype_diff函数。

如果在“类型”字段中选择“外壳”,则“定义”选项卡将显示“外壳”面板:

键入对话框外壳部分

外壳类型是类型的占位符,没有参数。

单击安全性选项卡以继续。

键入对话框安全性选项卡

使用“安全性”选项卡分配权限并定义安全性标签。

使用“权限”面板为类型分配权限;单击添加图标(+)授予权限:

  • 从“受赠者”字段的下拉列表框中选择将被授予类型特权的角色的名称。

  • 在“权限”字段内单击。选中一个或多个特权左侧的框,以将所选特权授予指定用户。

  • 当前用户(授予权限的默认授予者)显示在“授予者”字段中。

单击添加图标(+)分配其他权限;要放弃特权,请单击行左侧的垃圾桶图标,然后在“删除行”弹出窗口中确认删除。

使用“安全标签”面板可以定义应用于该类型的安全标签。单击添加图标(+)添加每个安全标签选择:

  • 在提供者字段中指定安全标签提供者。必须加载指定的提供者,并且必须同意提议的标签操作。

  • 在“安全标签”字段中指定安全标签。给定标签的含义由标签提供者决定。 SeaboxSQL对标签提供者是否必须解释或如何解释安全标签没有任何限制;它仅提供了一种存储它们的机制。

单击添加图标(+)分配其他安全标签;要丢弃安全标签,请单击行左侧的垃圾桶图标,然后在“删除行”弹出窗口中确认删除。

单击“ SQL”选项卡以继续。

您在“类型”对话框中的输入会生成一个SQL命令(请参见下面的示例)。使用“ SQL”选项卡进行检查;重新访问或切换选项卡以对SQL命令进行任何更改。

类型对话框sql选项卡

  • 单击信息按钮(i)以访问联机帮助。

  • 单击保存按钮以保存工作。

  • 单击取消按钮退出而不保存工作。

  • 单击重置按钮以恢复配置参数。