Обсуждение: Create unique index or constraint on part of a column
Hi:
Is there anyway to create a unique index or constraint on part of a column?
Something like this, but something that works ;-)
ALTER TABLE invoices
ADD CONSTRAINT cons UNIQUE (EXTRACT(YEAR FROM invoice_date), innvoice_number);
Thanks for any help.
Ruben,
Is there anyway to create a unique index or constraint on part of a column?
Something like this, but something that works ;-)
ALTER TABLE invoices
ADD CONSTRAINT cons UNIQUE (EXTRACT(YEAR FROM invoice_date), innvoice_number);
Thanks for any help.
Ruben,
Ruben Blanco wrote on 08.03.2011 00:30: > Hi: > > Is there anyway to create a unique index or constraint on part of a column? > > Something like this, but something that works ;-) > > ALTER TABLE invoices > ADD CONSTRAINT cons UNIQUE (EXTRACT(YEAR FROM invoice_date), innvoice_number); > > Thanks for any help. > Ruben, CREATE UNIQUE INDEX idx_cons ON invoices (EXTRACT(YEAR FROM invoice_date), innvoice_number); The only difference to a unique constraint is, that it cannot be used as the target of a foreign key constraint. Regards Thomas
On Mon, 2011-03-07 at 23:30 +0000, Ruben Blanco wrote: > Hi: > > Is there anyway to create a unique index or constraint on part of a > column? > > Something like this, but something that works ;-) > > ALTER TABLE invoices > ADD CONSTRAINT cons UNIQUE (EXTRACT(YEAR FROM invoice_date), > innvoice_number); CREATE UNIQUE INDEX invoices_constraint_idx ON invoices (EXTRACT(YEAR FROM invoice_date), invoice_number); Regards, Jeff Davis