Una Vista che fa uso di SELECT * (star) riconosce le nuove colonne o quelle eliminate?
Una vista che utilizza la SELECT * (star) non è in grado di riconoscere una modifica intervenuta nella struttura delle tabelle da cui dipende (sia essa l’aggiunta che la eliminazione di colonna). Questo accade perchè la lista delle colonne viene interpretata solo al momento della CREATE della vista o eventualmente di una successiva ALTER.
Una alternativa alla ALTER è rappresentata dall’uso della stored procedure si sistema SP_REFRESHVIEW [ @viewname = ] ‘viewname’ che aggiorna la struttura della vista in base all’attuale struttura delle tabelle e viste di base. Da notare che se lanciata su una vista creata con l’opzione WITH SCHEMABINDING, la suddetta sp_refreshview restituisce un errore.