Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Sqlserver2005 e viste
mercoledì 25 ottobre 2006 - 09.20
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mer 25 ott 2006 - 09:20
Sto cominciando(nel poco tempo che ho) ad studiarmi le viste.
chi gentilmente a grandi linee mi può spiegare a cosa sto andando in contro e a cosa servono ???.
se tramite una vista prendo n colonne da n tabelle poi aggiornando la vista ,in automatico sqlserver aggiornerà tutte le tabelle o devo fare delle query separate come al solito ???
C'è solo un capitano !!!!!!
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 25 ott 2006 - 09:58
>Sto cominciando(nel poco tempo che ho) ad studiarmi le viste.
>chi gentilmente a grandi linee mi può spiegare a cosa sto andando
>in contro e a cosa servono ???.
leggi questo post:
http://groups.google.it/group/microsoft.public.it.sql/msg/3f6298c5363ac147
>se tramite una vista prendo n colonne da n tabelle poi aggiornando
>la vista ,in automatico sqlserver aggiornerà tutte le tabelle
>o devo fare delle query separate come al solito ???
Una vista permette di aggiornare 1 sola tabella alla volta, altrimenti verrà scatenata una eccezione.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 25 ott 2006 - 10:09
Ciao totti240282
>Sto cominciando(nel poco tempo che ho) ad studiarmi le viste.
>chi gentilmente a grandi linee mi può spiegare a cosa sto andando
>in contro e a cosa servono ???.
Dunque, a grandi linee una vista è una tabella virtuale, ovvero una centralizzazione di colonne e righe prese da più tabelle qua e là. Una vista è comunque simile ad una tabella, ma a differenza di essa, se non opportunamente indicizzata, non è salvata da nessuna parte sul db (solo la query descritta viene salvata). Viene richiamata solamente referenziando le tabelle che la costituiscono.
>
>se tramite una vista prendo n colonne da n tabelle poi aggiornando
>la vista ,in automatico sqlserver aggiornerà tutte le tabelle
>o devo fare delle query separate come al solito ???
Ci sono alcune considerazioni da fare per la modifica dei valori tramite la vista. Per effettuare modifiche ai dati seguire le seguenti linee guida (da MSDN):
- Tutte le modifiche, incluse le istruzioni UPDATE, INSERT e DELETE, devono fare riferimento a colonne di una sola tabella di base.
- Le colonne che vengono modificate nella vista devono fare riferimento direttamente ai dati sottostanti nelle colonne della tabella. Non
possono essere derivate in altro modo, ad esempio tramite:
Una funzione di aggregazione, ovvero AVG, COUNT, SUM, MIN, MAX, GROUPING, STDEV, STDEVP, VAR e VARP.
Un calcolo. Non è possibile calcolare la colonna in base a un'espressione che utilizza altre colonne. Le colonne formate
utilizzando operatori sugli insiemi, ovvero UNION, UNION ALL, CROSSJOIN, EXCEPT e INTERSECT, equivalgono a un calcolo
e non sono pertanto aggiornabili.
- Le colonne che vengono modificate non possono essere interessate da clausole GROUP BY, HAVING o DISTINCT.
- Non è possibile utilizzare la clausola TOP nell'istruzione select_statement della vista quando si utilizza anche WITH CHECK OPTION.
Se vuoi approfondire, guarda questo link:
Modifica dei dati tramite le viste
http://msdn2.microsoft.com/it-it/library/ms180800.aspx
Ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mer 25 ott 2006 - 14:43
è proprio quello che stavo leggendo...ok grazie a tutti...non è quello che mi aspettavo
C'è solo un capitano !!!!!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !