CREATE TABLE SupplierQuote
(
supplierQuoteID int identity (3504,2) CONSTRAINT supquoteid_pk PRIMARY KEY,
PONumber int identity (9553,20) NOT NULL
.
.
.
CONSTRAINT ponumber_uq UNIQUE(PONumber)
);
el DDL de SQL anterior produce un error:Cómo aumentar automáticamente la clave no principal? - Servidor
Msg 2744, Level 16, State 2, Line 1 Multiple identity columns specified for table 'SupplierQuote'. Only one identity column per table is allowed.
cómo puedo solucionarlo? Quiero que PONumber aumente automáticamente.
El problema es que cuando se elimine el registro supplierQuoteID, el purchaseOrder in parent table será inútil. Por lo tanto, tendré que escribir un desencadenante o algo así para borrar el registro padre purchaseOrder. Decidí insertar PONumber manualmente desde el front-end utilizando un generador aleatorio o algo así. – user311509
No utilizaría un generador de números aleatorios si desea asegurarse de que los números PON sean únicos. Yo usaría Guid.NewGuid(). Las dos formas más sencillas de garantizar la exclusividad en una base de datos son usar identidad o un GUID. –
También puede eliminar en cascada: cuando elimina un providerQuote, configura la eliminación para que se realice en cascada en el registro PurchaseOrder asociado, siempre que no esté asociado a ningún otro SupplierQuote. –