2015-07-10 16 views

risposta

9

Per un campo da definire come foreign key, il campo padre di riferimento deve avere un indice definito su di esso.

Come da documentazione su foreign key constraints:

RIFERIMENTI parent_tbl_name (index_col_name, ...)

come viste sono tavoli virtuali, tutti i suoi campi sono anche virtuale.
E la definizione di index non è supportata nei campi virutali.

Come da documentazione su Restrictions on Views:

Non è possibile creare un indice su una vista.

E quindi non è possibile utilizzare una tabella virtuale, ovvero la vista, come tabella padre di riferimento (che non supporta gli indici) per definire e mappare una chiave esterna per creare una tabella figlio.

Esempio:
enter image description here

+0

risposta molto dettagliata e completa. Grazie. – melutovich

Problemi correlati