Geht sowas im Firebird nicht?
SQL-Code:
CREATE TABLE irgendwas (
ZTable1Order1 INTEGER,
ZTable1Order2 INTEGER,
ZTable1Order3 INTEGER,
ZTable1Order4 INTEGER,
..
CONSTRAINT uk_ZTable1Order UNIQUE (ZTable1Order1, ZTable1Order2, ZTable1Order3, ZTable1Order4)
)
Oder kann dieser Constraint nur jeweils ein Feld behandeln? (konnte ich auf die Schnelle nicht aus der Doku erkennen)
Im Prostgress mußte ich es aber auch mal so lösen, weil ich auch das NULL unique haben wollte.
CONSTRAINT uk_ZTable1Order UNIQUE (COALESCE(ZTable1Order1, ''), COALESCE(ZTable1Order2, ''), COALESCE(ZTable1Order3, ''))
[edit] ich mein natürlich mit einer 0, oder einem anderem nichtgenutzen Wert anstatt dem ''