Postgresql 如何在不推进光标的情况下获取nextval?
在PostgreSQL中,如何在不推进光标的情况下获取nextval 这不起作用:Postgresql 如何在不推进光标的情况下获取nextval?,postgresql,Postgresql,在PostgreSQL中,如何在不推进光标的情况下获取nextval 这不起作用: pgdb=# SELECT curval('schemas.category_category_id_seq'); ERROR: function curval(unknown) does not exist LINE 1: SELECT curval('schemas.category_category_id_seq'); ^ 提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显
pgdb=# SELECT curval('schemas.category_category_id_seq');
ERROR: function curval(unknown) does not exist
LINE 1: SELECT curval('schemas.category_category_id_seq');
^
提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。据我所知,您的函数名是错误的。它是“currval”。看 顺便说一句,如果您可以假设您的序列仅增加1,您可以执行以下操作:
select currval('schemas.category_category_id_seq') + 1;
这是安全的。但是currval()+1不是。问题是我正在插入级联表,为了插入到第一个表中,我必须在第二个表中插入第一个表的
nextval
,然后插入到第二个表中,呃……这没有意义。在第一个表中插入nextval()并在第二个表中插入相同的值是有意义的。