我想创建一个返回表的函数,但是我想向这些值添加默认值,如下所示:
CREATE OR REPLACE FUNCTION cleanDatabase()
RETURNS TABLE
(
error TEXT,
createConnection TEXT,
dropDatabases TEXT DEFAULT 'OK',
dropTableSpaces TEXT,
closeConnection TEXT
)
AS $$
...
但是出现以下错误: 错误:“ DEFAULT”或附近的语法错误
我在创建新表时经常使用default关键字,并且效果很好。 这不是我在这里做的用例,而是只应创建一个带有默认值的临时表并返回该表?
答案 0 :(得分:1)
为返回类型的列设置默认值是没有意义的,因为您要返回每一列。
仅在插入行时才插入表的默认值,而不会为具有默认值的列提供值(不同于指定null)。在PL / SQL中,无法不返回所有值。
在无法通过SP逻辑确定值时,请使用coalesce()
或类似的值来提供值。