PostgreSQL:如何在函数参数列表中为变量赋值空值?

时间:2014-06-04 11:20:46

标签: postgresql

我正在尝试使用PostgreSQL 9.3版本将null值分配给函数参数列表中的变量。

示例:我的尝试

 create or replace function fun_para(a varchar(20) =null, dt timestamp =null)
 ...

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

1 个答案:

答案 0 :(得分:1)

如果您的参数具有默认值,则所有后续参数也必须具有默认值。所以这是有效的:

create or replace function fun_para(a varchar(20) = null, dt timestamp = null)
returns void
language plpgsql as $$ BEGIN END; $$;

虽然这是无效的:

create or replace function fun_para(a varchar(20) = null, dt timestamp)
returns void
language plpgsql as $$ BEGIN END; $$;

这又是有效的:

create or replace function fun_para(a varchar(20), dt timestamp = null)
returns void
language plpgsql as $$ BEGIN END; $$;

这也是有效的:

create or replace function fun_para(dt timestamp, a varchar(20) = null)
returns void
language plpgsql as $$ BEGIN END; $$;