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)
);
È possibile che questo ddl genera un errore:Come aumentare automaticamente la chiave non primaria? - SQL Server
Msg 2744, Level 16, State 2, Line 1 Multiple identity columns specified for table 'SupplierQuote'. Only one identity column per table is allowed.
come posso risolverlo? Voglio che PONumber sia auto-incrementato.
Il problema si verifica quando il record fornitoreQuoteID viene eliminato, l'acquistoOrder nella tabella padre sarà inutile. Quindi, dovrò scrivere un trigger o così per cancellare il record genitore purchaseOrder. Ho deciso di inserire PONumber manualmente dal front-end utilizzando un generatore casuale o giù di lì. – user311509
Non vorrei usare un generatore di numeri casuali se si vuole essere sicuri che i PONUMER siano unici. Vorrei utilizzare Guid.NewGuid(). I due modi più semplici per garantire l'unicità in un database sono l'uso dell'identità o un GUID. –
È inoltre possibile eliminare in cascata le eliminazioni: quando si elimina un fornitore, è possibile impostare l'eliminazione in cascata sul record PurchaseOrder associato, a condizione che non sia associato a nessun altro SupplierQuote. –