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
Trasformare Tabella in Vista: Come fare con gli id e le FK?
giovedì 17 febbraio 2011 - 11.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2005
ignaxio
Profilo
| Newbie
9
messaggi | Data Invio:
gio 17 feb 2011 - 11:48
Ciao a tutti,
Su SQL SERVER 2005
avrei la necessità di trasformare una tabella (dbo.tableA) in una vista mantenendo lo stesso nome e che abbia le stesse informazioni prelevate da un'altra fonte (dbo.TableB). L'unica cosa che non posso mantenere è l'id di dbo.TableA che è un identity automatico al momento.. questo id è tra l'altro referenziato tramite FK in parecchie altre tabelle.
Come posso fare per rendere la cosa meno dolorosa possibile cercando di mentenere un'integrità referenziale? Parliamo di una tabella che ha una milionata di righe.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 17 feb 2011 - 12:00
>Su SQL SERVER 2005
>avrei la necessità di trasformare una tabella (dbo.tableA) in
>una vista mantenendo lo stesso nome e che abbia le stesse informazioni
>prelevate da un'altra fonte (dbo.TableB). L'unica cosa che non
>posso mantenere è l'id di dbo.TableA che è un identity automatico
>al momento.. questo id è tra l'altro referenziato tramite FK
>in parecchie altre tabelle.
Ciao,
Perdonami ma temo di non aver capito. Tabelle e Viste sono oggetti distinti che non possono essere "trasformati" vicendevolmente.
Se devi definire una vista su tabella b avente lo stesso nome di tabella a, devi necessariamente eliminare tabella a se i due oggetti appartengono al medesimo schema.
Se tabella a è referenziata da altre tabelle devi prima rimuovere tutte le FK per procedere alla sua eliminazione e successivamente non potrai creare FK che referenzino la vista.
>Come posso fare per rendere la cosa meno dolorosa possibile cercando
>di mentenere un'integrità referenziale? Parliamo di una tabella
>che ha una milionata di righe.
DROP TABLE
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
ignaxio
Profilo
| Newbie
9
messaggi | Data Invio:
gio 17 feb 2011 - 14:07
Beh.. il vocabolo era improprio in effetti.. per "trasformare" intendevo
drop table tableA;
Create View tableA
as
Select * from tableB
ma si possono referenziare delle colonne in una vista?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 17 feb 2011 - 14:51
>ma si possono referenziare delle colonne in una vista?
No.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
dompa72
Profilo
| Senior Member
245
messaggi | Data Invio:
ven 18 feb 2011 - 14:26
Di solito si fa il contrario, considerando che togliendo la tabella non esiste neanche più la vista
ciao
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 !