跳转至

触发函数对话框

触发器函数对话框

使用“触发器函数”对话框创建或管理触发器函数。触发器函数定义触发触发器时将调用的动作。

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

触发功能对话框的常规选项卡

使用“常规”选项卡中的字段来标识触发功能:

  • 使用“名称”字段为触发功能添加描述性名称。该名称将显示在sdAdmin树控件中。请注意,触发功能将按字母顺序调用。

  • 使用所有者旁边的下拉列表框选择将拥有触发器函数的角色。

  • 从“架构”字段中的下拉列表框中选择触发功能将驻留在其中的架构的名称。

  • 在“注释”字段中存储有关触发功能的注释。

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

触发功能对话框定义选项卡

使用“定义”选项卡中的字段来定义触发功能:

  • 使用“返回类型”旁边的下拉列表框可以指定与触发器函数关联的伪类型:

    • 如果要创建DML触发器,请选择触发器。

    • 如果要创建DDL触发器,请选择事件触发器r。

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

单击代码选项卡以继续。

触发功能对话框代码选项卡

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

单击选项选项卡以继续。

触发功能对话框选项选项卡

使用“选项”选项卡中的字段来描述或修改触发功能的操作:

  • 使用波动性旁边的下拉列表框选择以下选项之一:

    • VOLATILE表示即使在单个表扫描中,触发功能值也可以更改。

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

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

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

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

  • 切换以指定将使用创建它的用户的特权来执行触发功能。默认为“否”。

  • 开关以指示触发功能是窗口功能而不是普通功能。默认值为No。当前仅适用于用C编写的触发函数。

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

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

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

单击参数选项卡以继续。

触发功能对话框参数选项卡

使用“参数”选项卡中的字段可以指定在调用触发功能时将应用的设置。单击添加图标(+),将“名称/值”对添加到下表。

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

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

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

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

触发功能对话框的安全性选项卡

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

使用“权限”面板可将触发功能的使用权限分配给角色。单击添加图标(+)将角色添加到表中。

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

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

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

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

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

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

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

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

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

您在“触发器函数”对话框中的输入会生成一个SQL命令(请参见下面的示例)。使用“ SQL”选项卡进行检查;重新访问其他选项卡以修改SQL命令。

以下是由“触发器函数”对话框中的用户选择生成的sql命令的示例:

触发功能对话框的SQL选项卡

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

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

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

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