ID: Creazione foreign-key con riutilizzo dei campi
copia linkDescrizione del difetto
Instant Developer permette di creare nuove foreign-key tirando una tabella su un'altra tabella premendo il tasto SHIFT. Questa operazione causa l'inserimento, nella tabella su cui viene effettuato il drop, di nuovi campi collegati ai campi primary-key della tabella sorgente. Instant Developer permette anche di riutilizzare i campi esistenti. Per attivare tale funzionalità è sufficiente premere, oltre al tasto SHIFT, anche il tasto CONTROL. Instant Developer, in questo caso:
- analizza i campi della tabella che viene tirata cercando di identificare un prefisso comune a tutti i campi. Tale prefisso verrà scartato durante l'esecuzione della fase 3;
- analizza i campi della tabella su cui è stato effettuato il drop cercando di identificare un prefisso comune a tutti i campi. Tale prefisso verrà scartato durante l'esecuzione della fase 3;
- per ogni campo primary-key della tabella sorgente cerca nella tabella su cui viene effettuato il drop un campo il cui codice, tolto il prefisso calcolato al punto 1, sia uguale al codice dei campi primary-key contenuti nella tabella sorgente tolto il prefisso calcolato al punto 2. Se viene trovato un campo siffatto, questo viene incluso nella foreign-key. Se non viene trovato viene creato un nuovo campo atto a contenere il valore della foreign-key.
A partire dalla versione 8.5, dopo aver creato la foreign-key con riutilizzo dei campi, il valore dei flag "Opzionale" e "Chiave primaria" viene attivato se tutti i campi riutilizzati sono, rispettivamente, opzionali e primary-key.
Effetti del malfunzionamento
- La foreign-key viene creata ma se veniva riutilizzato un campo primary-key o un campo opzionale la foreign-key non veniva correttamente inizializzata. Quindi il campo riutilizzato non veniva più visto come primary-key o opzionale poiché utilizzato nella foreign-key con tali flag non attivati.
Soluzioni
Utilizzare la versione 8.5.3800. Qualora non sia possibile utilizzare tale versione è sufficiente, dopo aver creato la foreign-key con riutilizzo dei campi, attivare manualmente i flag "Opzionale" e "Chiave primaria" a seconda dello stato dei campi riutilizzati direttamente sulla foreign-Key.
Funzionalità interessate
La creazione di una nuova foreign-key in una tabella del database riutilizzando i campi già esistenti nella tabella di destinazione.
Ultima modifica: 16/10/2009 / Validità: da 8.5.3800