none
indice che aumenta in modo variabile RRS feed

  • Domanda

  • ciao a tutti

    mi accade una cosa strana (strana per me che sono un principiante) in fase di inserimento di un record in una tabella:

    inserisco un nuovo record all'interno di una semplice vista "select * from.... e se i dati rispettano i criteri mi viene assegnato un indice nella chiave primaria che è dato da ultimoID + 1. Se i dati non sono corretti management studio 2008 r2 mi dice che devo modificare qualcosa ed io puntualmente correggo e memorizzo. Questa volta l'indice è però ultimoId + 2. Se provo 10 volte prima di trovare i dati corretti da inserire, l'indice che mi viene assegnato è ultimoID + boh, cioè non segue una logica 1 errore == aumento l'ID di 1.

    Perchè ho questo comportamento? Dove potrei andare a modificarlo?

    grazie per le risposte

    nervo

    giovedì 15 settembre 2011 11:20

Risposte

  • Perchè ho questo comportamento? Dove potrei andare a modificarlo?

    grazie per le risposte

    nervo


    Ciao nervo,

    perché ogni transazione (anche se fallisce) contribuisce ad incrementare il valore della colonna IDENTITY del fattore di incremento specificato (di default vale 1).

    Questo comportamento non puoi modificarlo e, a dire il vero, non te ne può fregare di meno se rimangono dei "buchi" nella sequenza numerica (la proprietà IDENTITY non serve per generare sequenze numeriche) :-)

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.technet.microsoft.com/Forums/it-IT/sqlserverit
    • Contrassegnato come risposta nervo giovedì 15 settembre 2011 12:14
    giovedì 15 settembre 2011 12:08
    Moderatore