使用 DEFAULT 子句

使用 DEFAULT 关键字后面跟一个表达式自动参数的缺省值。如果为参数提供缺省值,并且以少于 UDR 定义的参量来调用这个 UDR 时,就是要缺省值。如果不为参数提供缺省值,并且以少于 UDR 定义的参数来调用这个 UDR 时,调用应用程序会收到错误。

下面的示例显示了 CREATE FUNCTION 语句,它为参数指定了缺省值。这个函数查找参数 i 的平方。如果函数调用时不指定 i 参数的参量,数据库服务器使用 0 作为参数 i 的缺省值。
CREATE FUNCTION square_w_default
        (i INT DEFAULT 0) {Specifies default value of i}
        RETURNING INT; {Specifies return of INT value}
        DEFINE j INT; {Defines routine variable j}
        LET j = i * i; {Finds square of i and assigns it to j}
        RETURN j; {Returns value of j to calling module}
        END FUNCTION;
警告: 当指定一个日期值作为参数的缺省值时,必须确保对年份指定 4 位数而不是 2 位数字。当指定 2 位数字的年份时,环境变量 DBCENTURY 的设置会影响数据库服务器如何解释日期值,所以 UDR 可能不使用希望的缺省值。有关更多信息,请参阅 GBase 8s SQL 参考指南