PostgreSQL返回表的默认值

时间:2018-11-29 10:50:58

标签: postgresql plpgsql

我想创建一个返回表的函数,但是我想向这些值添加默认值,如下所示:

CREATE OR REPLACE FUNCTION cleanDatabase()
RETURNS TABLE 
(
error TEXT,
createConnection TEXT,
dropDatabases TEXT DEFAULT 'OK',
dropTableSpaces TEXT,
closeConnection TEXT
)
AS $$
...

但是出现以下错误: 错误:“ DEFAULT”或附近的语法错误

我在创建新表时经常使用default关键字,并且效果很好。 这不是我在这里做的用例,而是只应创建一个带有默认值的临时表并返回该表?

1 个答案:

答案 0 :(得分:1)

为返回类型的列设置默认值是没有意义的,因为您要返回每一列。

仅在插入行时才插入表的默认值,而不会为具有默认值的列提供值(不同于指定null)。在PL / SQL中,无法不返回所有值。

在无法通过SP逻辑确定值时,请使用coalesce()或类似的值来提供值。