FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
insercion en multiples tablas
hola:
como hago para insertar datos en multiples tablas?? ovbiamente relacionadas con una clave. como seria en este caso la sentencia , estoy usando sql server 2000... me podrian escribir un ejemplito??? gracias |
#2
|
||||
|
||||
Hola
Aunque el tema ya se contesto aqui, me parece que todavía no te queda claro. Para hacer un insert en varias tablas es lo mismo que en una. No importa si están relacionadas o no, esto solo afectara a la hora de relacionar la información, pero para mostrarla, no para insertarla o modificarla. Ahora, para insertar lo que se necesita es: 1- Tener un query. 2- Hacer una sentencia sql. 3- Grabar la informacion. El paso 3 se puede hacer, o bien directo, osea que se insertara pero no se veran los resultados en el form o viéndolos, me explico con este comando (ExecSQL) se hace directo y simplemente abriendo el query se hace visible. Veamos que usa la sentencia sql: las palabras Instert Into, seguido por el nombre de la tabla, entre paréntesis (Los campos que se quieren insertar de esa tabla) a continuacion la palabra Values y entre parentesis los (datos que quieres insertar). Veamos un ejemplo: El Query: Query1 La tabla: Tabla1 Los Campos: Id, Nombre, Apellido. La Información: Edit1, Edit2, Edit3. Ahora insertaremos en esa tabla: Ejemplo de dos o mas tablas: El Query: Query1 (uno solo) Las tablas: Tabla1, tabla2 Los Campos: tabla1(Id, Nombre, Apellido), tabla2(Id, telefono1,telefono2). La Información: Edit1, Edit2, Edit3, Edit4, edit5. Ahora insertaremos en las tablas: Como ves el campo ID esta relacionado en las dos tablas y la información esta en el Edit1. Espero que te quede mas claro y te sirva. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
Solo una aclaración, que a mi modo de ver no estaría demás, si me lo permiten:
Cuando se trata de insertar en tablas relacionadas deben hacerse según el orden de dependencias: 1. Insertar en tabla maestro 2. Insertar en tabla esclava Esto es así, pues lo exige la integridad referencial. Y no olvidar que el valor a insertar y que forma de enlace entre ambas tablas debe ser el mismo. Es decir que si por ejemplo, en la tabla maestro se inserta un registro con ID igual a 1234, al insertar un registro "esclavo" correspondiente a dicho "maestro", ese mismo valor de ID debe ser ingresado en la clave foranea. El compañero Caral muestra un ejemplo en el que hay dos campos ID. Uno de ellos es para la tabla1 y otro para la tabla2. Si tabla2 es la tabla dependiente ese ID debe ser la clave foránea y contar con su propia clave primaria (Normalmente hablar de ID hace alusión a la clave primaria). Recuerden que para garantizar la referencia de una relación 1 a M se necesita de: 1. Un campo "ID" en tabla maestra que sea clave primaria. 2. Un campo "ID" en tabla esclava que sea clave primaria, para identificar a un registro esclavo de otro. 3. Un campo "FID" en tabla esclava que sea clave foranea. Este se unirá al ID de la tabla maestra para formar la relación. Saludos, |
#4
|
|||
|
|||
muchas gracias a caral y a delphiusss buenos consejos para realziar la practica ya lo he resuelto al problema, muchas graciassss ahora una ultima pregunta, me conviene q mi tabla 1 en el id(pk) sea de tipo auto incremente y la (fk) de la tabla 2 tmb?? porq si no lo definiera asi me daria error cunado quisiera ingresar un datos con el mismo id... TENKUUU
|
#5
|
||||
|
||||
Cita:
Un ejemplo: 1. Ingresas un registro maestro: PK = 1. Necesitas ingresar a dicho registro maestro tres esclavos. Veamos añadimos: 1. Agreamos el primer registro: PK = ?, FK = 1 2. Agregamos el segundo registro. OK = ? + ?, FK = 2 ¡Error! No se ha encontrado un registro correspondiente en la tabla maestra. Un campo ID no necesariamente debe ser incremental. Por ello el signo de preguntas. Como debes intuir, depende de otras cuestiones, necesidades y en ciertos casos por el gusto de cada uno. Si empleas autoincrementales no debes agregar en la consulta dicho campo. El motor solito se encarga de asignarle valor. Como dice el amigo Caral: No importa si están o no relacionadas. Si no estan relacionadas las tablas mediante PK y FK, el motor no protesta. Protesta en caso de que SI estén relacionadas y se rompa el principio de integridad referencial. ¿Está ahora más claro? Espero que si. Saludos, |
#6
|
|||
|
|||
mas claro que el aguaaaaaaaa!!!!! muchas gracias
|
#7
|
||||
|
||||
Disculpa, he estado fuera estos días.
No pude sentir un poco de preocupación por el tema... ¿Realmente se entendió lo que quise decir? No tengo problemas en explicar mejor el tema. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consultas Múltiples | theloren07 | Conexión con bases de datos | 11 | 12-07-2007 15:24:32 |
insercion en ado | vroa74 | Conexión con bases de datos | 1 | 28-03-2007 00:13:27 |
insercion en GDB | vroa74 | Conexión con bases de datos | 1 | 22-03-2007 11:09:39 |
Multiples instancias | Phacko | Varios | 1 | 07-09-2004 15:40:25 |
multiples registros | azaagh | Conexión con bases de datos | 8 | 10-06-2004 02:45:55 |
|