PostgreSQL 9.3:将参数值默认设置为 null

MAK*_*MAK 2 postgresql postgresql-9.3

我有以下包含 6 个参数的函数。

这里我想将参数cola,colc和设为默认值 null colf

功能fun_Test

create or replace function fun_Test
(
    cola int default null,
    colb varchar(10),
    colc int default null,
    cold varchar(10),
    cole varchar(10),
    colf varchar(50) default null
)

returns void AS

$$
begin
    raise info '%',cola;
    raise info '%',colb;
    raise info '%',colc;
    raise info '%',cold;
    raise info '%',cole;
    raise info '%',colf;
end;
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)

但出现错误。

错误:具有默认值的输入参数之后也必须具有默认值

Dan*_*iel 5

您必须重新排序您的参数!只需将默认值放在最后即可。