【发布时间】:2018-05-27 11:00:18
【问题描述】:
我有以下简单的表关系:
CREATE TABLE PRODUCT (
ID BIGSERIAL,
TYPE VARCHAR(24),
TITLE VARCHAR(128),
PRIMARY KEY (ID)
);
CREATE TABLE EVENT (
ID BIGSERIAL,
STATE VARCHAR(64) NOT NULL,
DATETIME TIMESTAMP NOT NULL,
PRODUCT_ID BIGINT,
FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCT(ID),
PRIMARY KEY (ID)
);
Event中的“STATE”,由Java Enum转换而来,可以是:INITIALIZED、AVAILABLE、PROCESSED等
我想要执行以下操作:如果产品的最后一个事件条目具有状态“已处理”,则在状态为“可用”的 EVENT 表中创建一个新插入。这必须适用于所有产品。
如您所见,事件表引用了产品。我看过:Insert, on duplicate update in PostgreSQL?
但是想不通。
【问题讨论】:
标签: java sql postgresql postgresql-9.5