在使用Postgres 11时,UPDATE语句中不允许使用SET返回函数。这是因为在UPDATE语句中,SET子句用于指定要更新的列和它们的新值,而不是用于执行函数操作。
UPDATE语句用于修改表中的数据。通常情况下,我们可以使用SET子句来指定要更新的列和它们的新值。例如:
UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;
在这个例子中,我们使用SET子句将column1的值更新为value1,将column2的值更新为value2。
然而,当涉及到函数操作时,我们不能直接在SET子句中使用函数来返回新值。如果需要使用函数来更新列的值,可以考虑使用UPDATE语句的其他功能,如子查询或使用WITH子句。
以下是一个使用子查询的示例:
UPDATE table_name
SET column1 = (SELECT function_name(arguments) FROM other_table WHERE condition)
WHERE condition;
在这个示例中,我们使用子查询来执行函数操作,并将返回的值作为新值更新到column1中。
需要注意的是,Postgres 11版本中的UPDATE语句不允许直接在SET子句中使用函数返回值。如果需要使用函数来更新列的值,可以通过其他方式实现,如使用子查询。
领取专属 10元无门槛券
手把手带您无忧上云