我有以下sql:
INSERT INTO in_api_settings (
ENTITY_ID,
ACTIVE_START_DATE,
ACTIVE_END_DATE)
VALUES (
nextval('in_api_settings_seq'),
current_date,
null)
当我执行它时,我得到错误
错误:关系“in_api_settings_seq”不存在
在Oracle上我使用IN_API_SETTINGS_SEQ.NEXTVAL,这很好用。我正在从Oracle合并到PostgreSQL,不知道我做错了什么。
答案 0 :(得分:5)
在
中指定架构nextval('in_api_settings_seq')
所以它会是
nextval('schema_name.in_api_settings_seq')
也从序列命名我相信它是自动生成的,因此它将被指定为默认值,因此你可以尝试
INSERT INTO in_api_settings (
ENTITY_ID,
ACTIVE_START_DATE,
ACTIVE_END_DATE)
VALUES (
DEFAULT,
current_date,
null)
答案 1 :(得分:3)
对架构和序列使用单独的引号
SELECT NEXTVAL('"schema_name"."sequence_tbl"')
EG。 SELECT NEXTVAL('"Master_SHM"."ATTRIBUTE_ID_SEQ"');
nextval
---------
5
(1 row)