我正在尝试创建一个带有时间戳列的表。问题是,我希望月份和年份组合是唯一的。我尝试了这个,但它没有帮助:
CREATE TABLE adempiere.SOIP_Deudas (
--Columnas del sistema
SOIP_Deudas_ID numeric(10) NOT NULL PRIMARY KEY,
ad_client_id numeric(10) NOT NULL,
ad_org_id numeric(10) NOT NULL,
updatedby numeric(10) NOT NULL,
createdby numeric(10) NOT NULL,
updated timestamp NOT NULL,
created timestamp NOT NULL,
isactive char(1) DEFAULT 'Y'::bpchar NOT NULL,
--Columnas del usuario
SOIP_Departamentos_ID numeric(10) NOT NULL,
fecha timestamp NOT NULL,
monto real NOT NULL DEFAULT 0,
FOREIGN KEY (SOIP_Departamatos_ID) REFERENCES SOIP_Departamentos(SOIP_Departamentos_ID),
UNIQUE (EXTRACT (MONTH FROM TIMESTAMP fecha), EXTRACT(YEAR FROM TIMESTAMP fecha))
)
如果没有特定的年份和月份列,我怎么能这样做呢?
感谢。
答案 0 :(得分:3)
快速解决方法:
create unique index on adempiere.SOIP_Deudas ( EXTRACT (MONTH FROM fecha), EXTRACT(YEAR FROM fecha));