salve Filippo,
Filippo.quaranta ha scritto:
...
Ma per avere il numero successivo devo avere prima "salvato" l'ordine precedente.
...
a dire il vero NO...
il tuo ordine sara' sicuramente composto da un testa e dettagli...
al momento dell'inserimento della testa, in uscita del comando di INSERT ritorni SCOPE_IDENTITY ( https://docs.microsoft.com/it-it/sql/t-sql/functions/scope-identity-transact-sql?view=sql-server-ver15 ), che sara' la PK del tuo ordine e ovviamente colonna relazionata nei dettagli...
inserendo i dettagli, userai il valore di SCOPE_IDENTITY che prima hai ottenuto per inserire ogni dettaglio facente riferimento al tuo ordine di testa...
cerca di NON lockare niente o il meno possibile... chiaramente il tuo salvataggio completo di testa e dettagli sara' in transazione in modo da risultare un'unica operazione atomica, ma non di piu'...
@laurar181: e non c'e' bisogno di avere anche un'altra colonna per fare "la ricerca del valore" identity assegnato alla riga... basta ottenerlo "all'uscita" del comando di INSERT...
salutoni romagnoli