Título: insert y subconsultas en mysql Publicado por: doreymis en 8 Junio 2010, 15:21 pm hola a todos...
queria saber si existe una manera de insertar un mismo valor a todos los registros de una tabla usando una sub consulta. en mi ejemplo, insertar una misma fecha y hora de entrada para todos los empleados de la tabla empleado. esta es la estructura de mis 2 tablas
Título: Re: insert y subconsultas en mysql Publicado por: novalida en 8 Junio 2010, 16:00 pm Hola,
podrías explicar un poco mejor eso de insertar un mismo valor a todos los registros de una tabla ¿Lo que quieres es "insertar" todos los empleados de la tabla EMPLEADO en la tabla ASISTENCIA? Si es esto lo que quieres hacer:
Un saludo. Título: Re: insert y subconsultas en mysql Publicado por: ssccaann43 © en 8 Junio 2010, 17:22 pm Código
Saludos ;D Título: Re: insert y subconsultas en mysql Publicado por: doreymis en 8 Junio 2010, 20:45 pm lo que sucede es que perdi todos los registros de asistencia de esa fecha.. y lo que quiero es asignarle una hora de entrada y salida a todos los empleados (para que no me quede ese dia en blanco), xq son muchos registros de empleado y es tedioso hacer el insert por cada ci.
estoy revisando el manual de mysql para seber algo del procedure xq no he trabajado con eso antes y bueno tengo algunos errores de syntax... si tienes un ejemplito por ahi de como trabajarlo te lo agradeceria.... ;D Título: Re: insert y subconsultas en mysql Publicado por: ^Tifa^ en 8 Junio 2010, 21:26 pm A lo mejor esto te puede ayudar.
Tengo 2 tablas (como ejemplo): Código
Una tiene registros, la otra esta vacia: Código
Asi que, como quiero obtener todos los 'nombres' de la tabla ejemplo he introducirlos en la tabla example no puedo hacer lo que sugeriste al inicio de este post, porque: 1 - Una consulta INSERT unica en la linea de comando, solo sirve para insertar 1 sola fila dentro de una tabla No es un bucle, no es un loop, es una sola fila dentro de la tabla. 2 - Al utilizar un subquery como hiciste, dentro del unico INSERT en linea de comando, caemos en el mismo problema dicho subquery te retorna mas de 1 registro (SELECT * FROM... retorna varios registros no uno solo) sin embargo tu consulta INSERT solo inserta 1 fila de una sola vez. ENtonces que haces, si tu tienes que captar varios registros y ingresarlo en una tabla pero con una simple consulta SQL INSERT en linea de comandos no puedes? pues te ayudas en este caso de un procedimiento almacenado, como bien dijiste dicho procedimiento tiene que tener CURSORES y un bucle repetitivo que vaya captando indice por indice cada registro y lo vaya insertando en la tabla deseada... entonces, (no soy buena con el limitante PL/SQL de MySQL) pero aqui vamos, esto te puede servir de ejemplo: Código
Hecho el procedimiento anterior.. lo llamas: Código
Salu2. |