函数的语法非常类似于创建过程的语法。其定义如下: CREATE [OR REPLACE] FUNCTION function_name [( argument[{IN | OUT | IN OUT}] type, ... argument[{IN | OUT | IN OUT}] type)] RETURN return_type {IS | AS} function_body。与过程的参数类似,函数的参数列表是可选的,并且函数声明段函数调用中都没有使用括弧。然而,由于函数调用是表达式的一部分,所以函数返回类型是必须要有的。函数的类型被用来确定包含函数调用的表达式的类型。