函数对话框
函数对话框¶
使用“函数”对话框定义函数。如果删除然后重新创建一个函数,则新函数与旧函数不相同;您必须删除引用旧函数的现有规则,视图,触发器等。
“函数”对话框通过以下对话框选项卡组织函数的开发:“常规”,“定义”,“代码”,“选项”,“参数”和“安全性”。 “ 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命令进行任何更改。
-
单击信息按钮(i)以访问联机帮助。
-
单击保存按钮以保存工作。
-
单击取消按钮退出而不保存工作。
-
单击重置按钮以恢复配置参数。