2014-10-23 19 views
7

Sto creando una nuova tabella in SQL table designer e vorrei che il "Valore predefinito o associazione" della colonna fosse basato su il valore di un'altra colonna nella stessa tabella. Quindi mi piacerebbe che la colonna A ottenga il suo valore da una sottostringa della colonna B. La colonna A è un tipo di dati numeric, la colonna B è varchar. In questo momento ho il seguente, ma ottenere il messaggio nello screenshot 2 ... c'è qualcosa di sbagliato qui? Ho anche avuto l'espressione CONVERT(numeric (2,0), SUBSTRING(col_b,3,2)) e questo ha dato lo stesso messaggio.Impostare il valore predefinito di una colonna in base a un'altra colonna di un diverso tipo di dati

Schermata 1:

enter image description here

Schermata 2:

enter image description here

risposta

9

Non credo che è possibile impostare il valore predefinito di una colonna sulla base di un'altra colonna usando il CONSENSO PREDEFINITO.

Si consiglia di prendere in considerazione una colonna calcolata se tutto ciò che si sta cercando di fare è sostituire un valore NULL. http://msdn.microsoft.com/en-us/library/ms188300.aspx

In casi estremi, è possibile eseguire esattamente ciò che si desidera in un TRIGGER. Leggi i trigger INSTEAD OF INSERT. http://technet.microsoft.com/en-us/library/ms175089(v=sql.105).aspx

+0

Grazie a @Raj Altro, ho completamente dimenticato le colonne calcolate. Esattamente quello che stavo cercando. –

Problemi correlati