PostgreSQL nextval引发错误关系不存在

Mas*_* Yi 3 sql postgresql

我有以下sql:

 INSERT INTO in_api_settings ( 
   ENTITY_ID, 
   ACTIVE_START_DATE, 
   ACTIVE_END_DATE) 
 VALUES ( 
   nextval('in_api_settings_seq'), 
   current_date, 
   null)
Run Code Online (Sandbox Code Playgroud)

当我执行它时,我得到错误

错误:关系“ in_api_settings_seq”不存在

在Oracle上,我使用IN_API_SETTINGS_SEQ.NEXTVAL,并且工作正常。我正在从Oracle合并到PostgreSQL,不确定自己在做什么错。

Vao*_*sun 10

在中指定架构

nextval('in_api_settings_seq')
Run Code Online (Sandbox Code Playgroud)

所以会的

nextval('schema_name.in_api_settings_seq')
Run Code Online (Sandbox Code Playgroud)

同样从序列命名中,我相信它是自动生成的,因此会将其指定为默认值,因此您可以尝试

INSERT INTO in_api_settings ( 
   ENTITY_ID, 
   ACTIVE_START_DATE, 
   ACTIVE_END_DATE) 
 VALUES ( 
   DEFAULT, 
   current_date, 
   null)
Run Code Online (Sandbox Code Playgroud)


小智 9

对架构和序列使用单独的引号

SELECT NEXTVAL('"schema_name"."sequence_tbl"')
Run Code Online (Sandbox Code Playgroud)

例如。 SELECT NEXTVAL('"Master_SHM"."ATTRIBUTE_ID_SEQ"');

 nextval
---------
       5
(1 row)
Run Code Online (Sandbox Code Playgroud)