V I S U A L I Z Z A D I S C U S S I O N E |
starless87 |
Inserito il - 08/02/2008 : 16:15:54 Stavo provando ad esercitarmi per il laboratorio facendo l'appello del 16/01. Nell'appello si chiede di creare una tabella filiali e di collegare la tabella creata a quelle già esistenti. Come faccio a collegare una tabella già esistente a quella appena creata. io ho pensato all'alter table ma non ci sn riuscito. C'è qualcuno che può aiutarmi? |
9 U L T I M E R I S P O S T E (in alto le più recenti) |
Dome87 |
Inserito il - 12/02/2008 : 15:51:26 sempre negli esercizi di quell'appello, come si fa la query sulla vista??? io nn lo so!! HEEEEELP!! |
Kingcla87 |
Inserito il - 09/02/2008 : 16:53:32 Hai creato la tabella Filiali in questa maniera:
CREATE TABLE Filiali ( Nro_filiale CHAR(1) PRIMARY KEY, Nome_filiale CHAR(20), Sede_filiale CHAR(20), Nro_dipendenti NUMERIC);
L'hai popolata così:
INSERT INTO Filiali VALUES ('1','Henrys Downtown','16 Riverview',10), ('2','Henrys On The Hill','1289 Bedford',6), ('3','Henrys Brentwood','Brentwood Mall',15), ('4','Henrys Eastshore','Eastshore Mall',9);
ed hai eseguito il comando ALTER così:
ALTER TABLE Scorte ADD FOREIGN KEY (Nro_filiale) REFERENCES Filiali(Nro_filiale);
Allora a me funziona....naturalmente fabio hai già caricato il database pre-compilato dalla lisi utilizzando SOURCE...
|
fabio_bit |
Inserito il - 09/02/2008 : 16:35:30 mi da questo errore pero "key column 'Nro_filiale' doesn't exists in table" avendo cmq popolato le due tabelle |
Kingcla87 |
Inserito il - 09/02/2008 : 15:59:50 ALTER TABLE Tab1 ADD FOREIGN KEY(attribbuto1) REFERENCES Tab2(attribbuto2);
Dove attribbuto1 è la chiave esterna della tabella Tab1 da modificare mentre attribbuto2 è l'attribbuto da referenziare per la tabella Tab2 da collegare!!
Es. Appello del 14:
ALTER TABLE Scorte ADD FOREIGN KEY(Nro_filiale) REFERENCES Filiali(Nro_filiale);
Spero di essere stato chiaro!
ciao |
fabio_bit |
Inserito il - 09/02/2008 : 14:38:52 si ma come è la sintassi per fare l'alter e referenziare la tabella |
Kingcla87 |
Inserito il - 09/02/2008 : 13:24:10 Certo se posto in questa maniera il problema giustamente si risolve con una ALTER TABLE su scorte(dopo però aver opportunamente popolato Filiali) !! |
Turiddu |
Inserito il - 09/02/2008 : 10:11:30 Citazione: Messaggio inserito da Kingcla87
Guarda che se devi collegare la tabella appena creata a una già esistente basta che quando fai create table inserisci una chiave esterna che referenzia un'altro attributo della tabella già esistente da collegare!!
^^giustissimo!^^ Nel caso dell'appello del 16 però (credo che tu ti riferisca alla traccia che è stata uploadata qui...) bisogna impostare a CHIAVE ESTERNA un attributo della tabella SCORTE (data dalla prof e già popolata) che si riferisce alla chiave primaria di FILIALI (nuova tabella). Ecco perchè bisognava usare l'ALTER TABLE su SCORTE... |
Kingcla87 |
Inserito il - 08/02/2008 : 22:27:49 Guarda che se devi collegare la tabella appena creata a una già esistente basta che quando fai create table inserisci una chiave esterna che referenzia un'altro attributo della tabella già esistente da collegare!! |
Turiddu |
Inserito il - 08/02/2008 : 18:14:15 Purtroppo l'ALTER TABLE funziona solo dopo aver popolato la tabella questo perchè non è possibile creare un vincolo d'integrità referenziale tra una tabella già popolata e una vuota. |