1

如何将默认值分配给 PostgreSQL 9.3 中的以下类型的 Oracle 语句?

CREATE OR REPLACE FUNCTION(....
...
DECLARE
 v_var Table01.column01%TYPE := 'SLOW';
BEGIN
...
...
END;
4

1 回答 1

1

Postgres 允许提供参数默认值,它会在函数调用中缺少参数。仅允许用于列表末尾的参数。
例子:

CREATE OR REPLACE FUNCTION foo (
                  param1 int
                , v_char tbl01.col01%TYPE DEFAULT 'foo')
...
-- no need to DECLARE anything else.
BEGIN
...

语法快捷方式是. v_char tbl01.col01%TYPE = 'foo'

称呼:

SELECT * FROM foo(1, 'bar');
SELECT * FROM foo(1);        -- Param default kicks in

手册中的详细信息。

于 2013-10-16T18:22:29.460 回答