none
Nuova colonna BIT con valore RRS feed

  • Domanda


  • Salve a tutti,

    ho una domanda da porre alla vostra attenzione:

    Debbo aggiungere una colonna di tipo BIT (che consente valori NULL)

    in una tabella piuttosto grossa; di solito dopo avere aggiunto la colonna

    eseguo una UPDATE per l'intera tabella, in quanto in questo nuovo campo

    ci voglio il valore FALSE, e ci impiega un bel pò; mi chiedevo, se era possibile

    nella stessa istruzione SQL di ALTER TABLE ADD COLUMN ...., aggiungere una opzione

    che mi consenta di settare FALSE e, quindi, di evitare di eseguire la UPDATE .

    Spero in un vostro suggerimento, ciao
    venerdì 14 dicembre 2012 18:10

Risposte

  • Ciao Angelo,

    puoi farlo con lo statement DEFAULT, ma per quello devi impostare l'opzione NOT NULL.. esempio pratico :

    Hai una tabella "Risultati" a cui vuoi aggiungere il campo booleano "Abilitato" ed impostarlo direttamente a zero.

    opzione 1)ALTER TABLE Risultati ADD Abilitato NULL DEFAULT 0 --> Il risultato è che aggiunge si la colonna Abilitato, ma il valore della colonna rimane NULL

    opzione 2) ALTER TABLE Risultati ADD Abilitato NOT NULL DEFAULT 0 --> Il risultato è che aggiunge si la colonna Abilitato, il valore della colonna sarà 0 su ogni riga, ma dovrai lanciare in coda un'altra ALTER TABLE per impostare il campo Abilitato a NULLABLE come tua richiesta.

    Un saluto :)

    • Proposto come risposta _ Luca Gaspari sabato 15 dicembre 2012 01:24
    • Contrassegnato come risposta AngeloNew lunedì 17 dicembre 2012 14:39
    sabato 15 dicembre 2012 01:23

Tutte le risposte

  • Ciao Angelo,

    puoi farlo con lo statement DEFAULT, ma per quello devi impostare l'opzione NOT NULL.. esempio pratico :

    Hai una tabella "Risultati" a cui vuoi aggiungere il campo booleano "Abilitato" ed impostarlo direttamente a zero.

    opzione 1)ALTER TABLE Risultati ADD Abilitato NULL DEFAULT 0 --> Il risultato è che aggiunge si la colonna Abilitato, ma il valore della colonna rimane NULL

    opzione 2) ALTER TABLE Risultati ADD Abilitato NOT NULL DEFAULT 0 --> Il risultato è che aggiunge si la colonna Abilitato, il valore della colonna sarà 0 su ogni riga, ma dovrai lanciare in coda un'altra ALTER TABLE per impostare il campo Abilitato a NULLABLE come tua richiesta.

    Un saluto :)

    • Proposto come risposta _ Luca Gaspari sabato 15 dicembre 2012 01:24
    • Contrassegnato come risposta AngeloNew lunedì 17 dicembre 2012 14:39
    sabato 15 dicembre 2012 01:23
  • Grazie, l'ho provata e funziona a meraviglia

    grazie ancora, ciao

    lunedì 17 dicembre 2012 14:40
  • You are wellcome! (:
    lunedì 17 dicembre 2012 14:51