我有以下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)