我正在尝试使用PostgreSQL 9.3版本将null值分配给函数参数列表中的变量。
示例:我的尝试
create or replace function fun_para(a varchar(20) =null, dt timestamp =null)
...
错误:具有默认值的输入参数也必须具有默认值
答案 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; $$;