28/04/2010, 08:30
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes Puntos: 2658 | |
Respuesta: Tengo una Duda Si estás ingresando en una tabla, ¿cómo esperas que inserte datos en dos diferentes?
Creo que estás confundiendo el hecho de tener tablas relacionadas con el que la relación genere acciones no indicadas, como es el INSERT.
Cuando defines una FK en una tabla lo que le dices al DBMS es que verifique cualquier inserción futura o valor presente de ese campo contra la tabla referida, pero eso no implica que el DBMS inserte en la referida un valor. Ese valor debe existir antes de realizar inserciones o actualizaciones en la tabla dependiente.
¿Se entiende la idea?
Además de eso, ten en cuenta que un INSERT opera sobre una sola tabla, y no sobre varias. Por caso, el INNER JOIN no es una cláusula admitida del INSERT, por lo que jamás funcionará allí.
¿Se entiende la idea?
La única posibilidad de hacer lo que pides en una sola sentencia, desde el punto de vista del ANSI-SQL (es decir, sin los agregados hechos por Microsoft al SQL Server), es usar un TRIGGER para realizar la inserción previa en la tabla referida. Pero esto no funciona en todos los DBMS, por lo que habría que analizar el caso.
En lugar de eso, ¿por qué no pones los dos inserts, a cada tabla, en el orden correcto?
Sería más simple.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |