2011-09-15 10 views

risposta

7

Utilizzare l'istruzione Modifica vista per modificare una vista. Basta usare l'istruzione SQL esistente nella vista corrente e aggiungere la colonna alla fine.

http://dev.mysql.com/doc/refman/5.0/en/alter-view.html

spiegazione più dettagliata di quanto la documentazione reale può essere trovato qui:

http://www.roseindia.net/mysql/mysql5/views.shtml

Edit - ha aggiunto

Una vista può solo visualizzare i dati da una tabella esistente. Dovresti aggiungere la colonna alla tabella e quindi modificare la vista per mostrarla.

Pensateci in questo modo: una vista è solo un modo per esaminare i dati esistenti nelle tabelle. Le tabelle sono titolari di dati reali.

L'unica eccezione al modello precedente che posso pensare è che è possibile avere una colonna su una vista che viene riempita con i risultati di un calcolo come aggiunta o conflitto di stringhe. Ad esempio, considerare una tabella con EmployeeId, Nome e le colonne LastName ...

Si potrebbe avere una vista che assomiglia a questo:

Create View FullNames AS 
Select EmployeeId, firstname + ' ' + lastname AS FullName from Employees 

In questo caso, io sono sorta di l'aggiunta di un colonna che non esiste in una tabella - FullName. È un valore calcolato in base ai dati della tabella. Tuttavia, è ancora basato sui dati memorizzati nel DB da qualche parte.

+1

Capisco come aggiungono una colonna in una vista esistente, ma usano l'istruzione "select", che significa che la colonna deve provenire da alcune altre tabelle. Quello che voglio dire è che posso creare una nuova colonna nella vista proprio come fa l'alter table statement a un tavolo? – root

+0

Stavo anche cercando un modo per aggiungere una colonna a una vista (supponendo che la colonna esista già nella tabella sottostante). Non pensavo che fosse possibile anche se non ha senso una volta che inizi ad avere viste basate su join complessi e cose del genere. –

Problemi correlati