Segna il video come già completato  
Se vuoi, sarebbe utile un giudizio su questo video    
CREATE TABLE [dbo].[Anagrafica_Dipendenti]( [Id] [smallint] IDENTITY(1,1) NOT NULL, [Nome] [varchar](50) COLLATE Latin1_General_CI_AS NULL, [Cognome] [varchar](50) COLLATE Latin1_General_CI_AS NULL, [DataCreazione] [datetime] NULL, CONSTRAINT [PK_Anagrafica_Dipendenti] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] In questo video vedremo il terzo vincolo della serie, ossia il VINCOLO PREDEFINITO detto anche DEFAULT VALUE. In poche parole, quando aggiungiamo un record ad una tabella e non specifichiamo alcun valore per il campo che contiene un vincolo predefinito (in pratica inseriamo un valore NULL), questo campo verrà riempito automaticamente con il suo valore di default. Questo valore di default lo avremo naturalmente scelto ed impostato al momento della creazione del vincolo. Vediamo ora di fare un esempio concreto: prendiamo la tabella Anagrafica_Dipendenti. Ha quattro campi: Id (che è anche la chiave primaria), Nome, Cognome e DataCreazione. I primi tre campi sono gli stessi che abbiamo usato nei video precedenti. Il quarto campo rappresenta invece la data e l'ora in cui è stato creato il record. Vogliamo che, all'inserimento di un nuovo record, la colonna DataCreazione si valorizzi con la data e l'ora corrente, senza doverlo specificare ogni volta. Andiamo quindi in progettazione della tabella e scorriamo le proprietà del campo DataCreazione. In corrispondenza di "Valore predefinito dell'associazione", inseriamo il valore predefinito per questo campo o quella funzione che creerà tale valore predefinito. Nel nostro caso useremo la funzione getdate(). Salviamo quindi la tabella. Possiamo notare che è stato creato un nuovo vincolo se apriamo il nodo "Vincoli" della nostra tabella. Vedremo un vincolo con il prefisso DF_ che è il prefisso tipico dei vincoli predefiniti. Se a questo punto inseriamo un nuovo record, anche manualmente, senza specificare il campo DataCreazione, vediamo che quando rendiamo effettive le modifiche, il campo DataCreazione sarà automaticamente valorizzato con data ed ora corrente. Questo risulta ancora più utile usando uno script di inserimento. Proviamo ad aggiungere un ulteriore record in questo modo: INSERT INTO Anagrafica_Dipendenti ( Nome, Cognome ) VALUES ( 'Stefano', 'Gialli' ) oppure possiamo indicare esplicitamente che per il campo DataCreazione vogliamo inserire il valore di default, usando la parola chiave DEFAULT: INSERT INTO Anagrafica_Dipendenti ( Nome, Cognome, DataCreazione ) VALUES ( 'Giovanni', 'Azzurri', DEFAULT ) Come per i vincoli che abbiamo studiato in precedenza, vediamo come fare per aggiungerli tramite script. La sintassi che dovremo usare è la seguente: ALTER TABLE nometabella ADD CONSTRAINT nomevincolo DEFAULT (valore_o_funzione_di_default) FOR [nomecampo] che nel nostro caso diventa: ALTER TABLE Anagrafica_Dipendenti ADD CONSTRAINT DF_Anagrafica_Dipendenti_DataCreazione DEFAULT (getDate()) FOR DataCreazione Per rimuovere manualmente il vincolo ci basterà aprire il nodo Vincoli della nostra tabella, selezionare il vincolo col tasto destro e selezionare "Elimina". Se vogliamo invece rimuoverlo tramite script dobbiamo usare la seguente sintassi: ALTER TABLE nometabella DROP CONSTRAINT nomevincolo che nel nostro caso diventa: ALTER TABLE Anagrafica_Dipendenti DROP CONSTRAINT DF_Anagrafica_Dipendenti_DataCreazione