GBase 8s SQL 指南:语法 南大通用数据技术股份有限公司 1588 已命名的参数不能用于调用在它们的例程特征符中重载数据类型的 UDR。只有例 程的特征符具有不同数量的参数时,命名的参数用于解析非唯一的例程名称才是 有效的: func( x::integer, y ); -- VALID if only these 2 routines func( x::integer, y, z ); -- 具有相同的 'func' 标识
func( x::integer, y ); -- NOT VALID if both routines have func( x::float, y) ; -- 相同的标识和两个参数 对于顺序和命名的参数,如果两个或更多的 UDR 特征符具有多个数目的缺省 值,则会执行参数最少的例程: func( x, y default 1 ) func( x, y default 1, z default 2 ) 如果两个同时称作 func 的已注册的 UDR 具有以上所示的特征符,那么语句 EXECUTE func(100) 调用 func(100,1)。 不能使用命名的参数提供缺省值的子集,除非这些参数遵循例程特征符的位置顺 序。即,不能跳过一些参量而依赖于数据库服务器提供它们的缺省值。 例如,给定以下特征符: func( x, y default 1, z default 2 ) 可执行: func( x=1, y=3 ) 但不能执行: func( x=1, z=3 ) 表达式的子集作为参量有效 参数的语法图涉及这一节的内容。 除了聚集函数以外,可以使用任何表达式作为参量。如果使用子查询或函数调用 作为参量,那么子查询或函数必须返回适当数据类型和大小的单个值。有关 SQL 表达式的用途和语法,请参阅表达式。