PostgreSQL 9.3 : Setting parameters values default to null

标签 postgresql postgresql-9.3

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

这里我想给参数colacolccolf设置默认值null。

函数: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;

但是出现错误。

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

最佳答案

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

关于PostgreSQL 9.3 : Setting parameters values default to null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34263403/

相关文章:

postgresql - 如何找到一年中给定月份的那个月的周数?

Postgresql Hstore 和 Toast 膨胀

sql - 从仅记录值更改时的表中推断每日历史值 (Postgresql 9.3)

python - 从 redshift 存储过程返回结果集

postgresql - 如何在设置时更改 postgres docker image wal 级别?

postgresql - PostgreSQL 中的模式权限被拒绝

postgresql - 在 Rails 3.1 中使用 .where IN 子句和 .includes 向下和向上许多嵌套级别来查找一组 ID

postgresql - 加入 generate_series 并计数

database - PostgreSQL 的隐藏特性

sql - 在自定义函数中使用 SQL 查询作为数组参数(输入)