varias foreign keys en un mismo campo de una tabla
Publicado por ENARA (12 intervenciones) el 09/06/2007 13:15:55
Buenas,
Tengo una tabla agendaTelefonos y estas 3 tablas:
Personal
Clientes
Proveedores
El campo identificativo de agendaTelefonos que referencia al dni de personal pero también me gustaría que fuera para las otras 2 tablas. s posible esto?:
alter table agendaTelefonos add foreign key (id) references clientes (id)on delete cascade on update cascade;
alter table agendaTelefonos add foreign key (id) references proveedores (nif) on delete cascade on update cascade;
ejecutando estas dos líneas, al añadir un telefono de cliente...
a) mirara si está en las 3 tablas si está en alguno de ellas me deja insertar el registo en agendaTelefonos
b) si no está en las 3 tablas no me deja insertarlo.
¿Qué será lo que pasará? Yo lo que quiero es que suceda la opción a).
Para que se dé el caso a), habría que no indicar ninguna tabla ¿?, habría que indicar las 3 tablas seguidas ¿? ...
Agradecería que me indicaran cual sería la línea que debería escribir para poder insertar un telefono en esa tabla solo si existe un personal o un cliente o un proveedor con el identificativo que se facilita en la sentencia INSERT.
Gracias.
Tengo una tabla agendaTelefonos y estas 3 tablas:
Personal
Clientes
Proveedores
El campo identificativo de agendaTelefonos que referencia al dni de personal pero también me gustaría que fuera para las otras 2 tablas. s posible esto?:
alter table agendaTelefonos add foreign key (id) references clientes (id)on delete cascade on update cascade;
alter table agendaTelefonos add foreign key (id) references proveedores (nif) on delete cascade on update cascade;
ejecutando estas dos líneas, al añadir un telefono de cliente...
a) mirara si está en las 3 tablas si está en alguno de ellas me deja insertar el registo en agendaTelefonos
b) si no está en las 3 tablas no me deja insertarlo.
¿Qué será lo que pasará? Yo lo que quiero es que suceda la opción a).
Para que se dé el caso a), habría que no indicar ninguna tabla ¿?, habría que indicar las 3 tablas seguidas ¿? ...
Agradecería que me indicaran cual sería la línea que debería escribir para poder insertar un telefono en esa tabla solo si existe un personal o un cliente o un proveedor con el identificativo que se facilita en la sentencia INSERT.
Gracias.
Valora esta pregunta


0