使用 Callable 语句我想从我的数据库中返回串行类型列,而不使用函数来执行它。
因此,我尝试使用以下语句作为参数传递给我prepareCall
的连接函数以生成CallableStatement
.
{? = INSERT INTO schema.tbl (col1, col2, col3, col5) VALUES (?, ?, ?, ?) RETURNING col6}
这里col6
的数据类型为serial
.
但这会产生异常:
org.postgresql.util.PSQLException:偏移 5 处的函数或过程转义语法格式错误。
我觉得这个语句使用的语法是错误的。如果是这样,那么正确的说法是什么?
注意:我无法使用connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
注意:我也知道如何通过在 Postgresql 数据库模式中声明一个函数来完成。请不要回答有关此方法解决问题的问题。
我特别要求请通过说明如何更改该语句以便它可以使用来回答CallableStatement