1、Navicat for PostgreSQL 触发函数定义:定义包括一个有效的 SQL 过程语句,这可以是一个简单的语句,如 SELECT 或 INSERT,也可以是一个用 BEGIN 和END 写的复合语句,复合语句可以包含声明循环和其它控制结构语句。参数:定义触发函数参数。返回类型模式和返回类型:触发函数的返回类型。
2、Navicat for PostgreSQL 触发函数高级属性:拥有者:触发函数的拥有者,支持 PostgreSQL 8.0 或以上版本。语言:函数实施的语言名。可能是 C、内部或用户定义过程语言名。为了向后兼容,名可能是用单引号括着。挥发性:这些属性可以查询优化器有关函数的性能。最多可指定一个选择。如果这些没有出现,默认的假设是 VOLATILE。
3、● IMMUTABLE:函数不能修改数据库,当给予相同的引数值时,总是返回相同的结果,也就是说,它不会做数据库查找,或以其靓脘堤窳他方式使用信息时不直接出现在其引数列表。如果使用该项,任何函数调用的全部常数引数可以立即替换函数值。● STABLE:函数不能修改数据库,单一表扫描它会为相同的引数值返回相同的结果,但其结果可能会改变整个 SQL 语句,这是函数结果取决于数据库查找、参数变量等适当选择功能。此外,请注意函数的 current_timestamp 家族限制为稳定,因为它们的值不会在事务中改变。● VOLATILE:函数值能在单一表扫描中改变,因此没有优化。少数数据库函数是易变的,例如 random()、 currval()、 timeofday()。但请注意,任何具有副作用的函数必须分类为易变,即使其结果是相当明确,防止调用不断优化,例如 setval()。
4、定义者安全性:指定函数运行时使用创建它的用户权限。返回集:表示函数将返回一组项目,而不是一个单一项目。严格:表示每当函数的引数是 null 时,总是返回 null。如果此参数被指定,当有 null 引数时,函数不会运行,相反 null 结果会自动假定。估计耗费:正数估计函数的运行耗费,使用 cpu_operator_cost 单位。如果函数返回一个集,这是每返回行的耗费。如果耗费没有被指定,C 语言及内部函数假定 1 单位,其他全部语言为 100 单位。较大的值导致策划者应尽量避免比需要多的评估函数,支持 PostgreSQL 8.2 或以上版本。
5、估计行:正数估计策划者应预期函数返回的行数,这只允许当函数被声明为返回一个集,支持 PostgreSQL 8.2 或以上版本。配置参数:当函数输入时设置到指定值的指定配置参数,当函数离开时还原到以前的值,支持 PostgreSQL 8.2 或以上版本。