跳转至

函数对话框

函数对话框

使用“函数”对话框定义函数。如果删除然后重新创建一个函数,则新函数与旧函数不相同;您必须删除引用旧函数的现有规则,视图,触发器等。

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

函数对话框的常规选项卡

使用“常规”选项卡中的字段来标识函数:

  • 使用“名称”字段为该函数添加描述性名称。该名称将显示在sdAdmin树控件中。

  • 使用所有者旁边的下拉列表框选择将拥有该函数的角色的名称。

  • 使用“模式”旁边的下拉列表框选择将在其中创建函数的方案。

  • 在“注释”字段中存储有关该函数的注释。

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

函数对话框定义选项卡

使用“定义”选项卡中的字段来定义函数:

  • 使用“返回类型”旁边的下拉列表框选择该函数返回的数据类型(如果有)。

  • 使用语言旁边的下拉列表框选择实现语言。默认值为sql。

  • 使用“参数”中的字段来定义参数。单击添加图标(+)设置参数和参数值:

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

    • 使用“模式”字段中的下拉列表框选择一种模式。选择IN作为输入参数;选择OUT作为输出参数;为输入和输出参数选择INOUT;或者,选择VARIADIC以指定VARIADIC参数。

    • 在“参数名称”字段中为参数提供名称。

    • 在“默认值”字段中为参数指定默认值。

单击添加图标(+)定义另一个参数;要放弃参数,请单击行左侧的垃圾桶图标,然后在“删除行”弹出窗口中确认删除。

单击代码选项卡以继续。

函数对话框代码标签

使用“代码”字段来编写将在调用函数时执行的代码。

单击选项选项卡以继续。

函数对话框选项选项卡

使用“选项”选项卡中的字段来描述或修改函数的操作:

  • 使用波动率旁边的下拉列表框选择以下选项之一。 VOLATILE是默认值。

    • VOLATILE表示该函数值即使在一次表扫描中也可以更改,因此无法进行优化。

    • STABLE表示该函数无法修改数据库,并且在单个表扫描中它将针对相同的参数值一致地返回相同的结果。

    • IMMUTABLE指示该函数无法修改数据库,并且在给定相同的参数值时始终返回相同的结果。

  • 切换以指示该函数是否返回包含多行的集合。默认为“否”。

  • 切换以指示该函数是否在任何参数为NULL时始终返回NULL。如果是,则在有NULL参数时不执行该函数;否则,函数不执行。而是自动假定为NULL结果。默认为“否”。

  • 切换以指定要使用创建该函数的用户的特权来执行该函数。默认为“否”。

  • 切换以指示该函数是窗口函数而不是普通函数。默认值为No。当前仅对用C编写的函数有用。替换现有函数定义时,不能更改WINDOW属性。

  • 使用估计成本字段以cpu_operator_cost为单位指定表示该函数的估计执行成本的正数。如果函数返回一个集合,则这是返回的每一行的成本。

  • 使用“估计的行数”字段来指定一个正数,以给出查询计划者应期望函数返回的估计的行数。仅当声明函数返回一个集合时才允许这样做。默认假设为1000行。

  • 开关以指示该函数是否有副作用。默认值为“否”。此选项只能由超级用户设置。

  • 使用“支持函数”字段来指定要用于该函数的计划者支持函数。

单击参数选项卡以继续。

函数对话框参数选项卡

使用“参数”选项卡中的字段来指定在调用函数时将应用的设置。单击添加图标(+),以在表中添加名称/值字段。

  • 使用“参数”面板的“名称”列中的下拉列表框选择一个参数。

  • 使用“值”字段来指定将与所选变量关联的值。此字段是上下文相关的。

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

函数对话框安全选项卡

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

  • 使用“权限”面板将函数的使用权限分配给角色。

  • 从“受赠方”字段的下拉列表框中选择角色的名称。

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

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

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

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

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

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

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

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

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

函数对话框sql选项卡

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

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

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

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